|
Poprawna konfiguracja UTF8 dla PHP, MySQL |
|
Ostatnio walczy³em z poprawnym skonfigurowaniem serwera Abyss do pracy z Mysql i PHP w kodowaniu UTF.Tutaj mo¿na sobie poczytaæ manual.
Ca³y trick polega na tym i¿chc±c u¿ywaæ PHP 5.x niektóre strony mog± nie dzia³aæ poprawnie gdy¿ PHP 5.x olewa natywne kodowanie bazy danych. Mo¿emy mieæ zarówno dla tabel jak i dla kolumn ustawione kodowanie UTF8 a PHP 5.x i tak we¼mie swoje domy¶lne (latin1 lub latin2) i wtedy kodowanie dla stron bêdzie ok, a dla wyników z bazy krzaczki (dok³adnie znaki zapytania). By omin±c to w PHP 5.x przy ³aczeniu z baz± z poziomu PHP nale¿y dodaæ instrukcjê: mysql_query("SET NAMES 'latin2'"); Czasami modyfikacja zapytañ jest upierdliwa. Dlatego zawsze mo¿na skorzystaæ z PHP 4.x. Tylko tutaj je¶li mamy bazê MySQL 5.x to jest kilka rzeczy które trzeba wykonaæ by taka baza dzia³a³a poprawnie z PHP 4.x. Po pierwsze trzeba w³±czyæ rozszerzenie mbstrings w php.ini. Je¶li macie instalkê PHP4 to jest ona bez instalatora. Przerzuciæ nale¿y wszystkie pliki z katalogów dll i extension do katalogu g³ównego (tam gdzie jest php.exe). W php.ini usun±æ ¶rednik przy mbstrings w bloku extensions. Nastêpnie trzeba wymusiæ na serwerze MySQL by u¿ywa³ starych hase³ (use old passwords). Najlepiej u¿yæ do tego MySQL Tools - pakietu producenta MySQL do pobrania ze stron http://www.mysql.com/ . W module MySQL Administrator -> Startup Variables -> Advanced -> Use Old Passwords. Nastêpnie trzeba zmieniæ obecne has³o na stare: SET PASSWORD FOR 'root'@'localhost'=OLD_PASSWORD('mojehaslo'); Konfiguracjê Abyss X1 Webserver dodam tak¿e do artyku³ów w tym dziale. |