Wednesday, September 30, 2009

Why UTF-8 sucks

Because you can configure it at every goddamn place. Assuming I want to set up an ordinary website with php and mysql. Then you can configure it at:
  • Apache config
  • PHP config
  • PHP MySQL module config
  • MySQL general config
  • Each text/char/varchar field in the particular MySQL tables
  • When you process the Data in your PHP Script and when you receive/transport Data via GET/POST
  • In the metadata each HTML site
  • On each AJAX Request you make
  • On each browser visiting the site

Thats not only plain confusing for the admin but between each program/module you have the possibility to somehow screw up something with the conversion if not all of them is set to UTF-8
It's always been a pain in the ass to make my websites UTF-8; some users always had problems getting it displayer correctly.

Now i got the problem that normally submitted data works fine, but data containing umlauts submitted over AJAX are displayed wrongly. Hail utf-8 -.-