MySQL 4.1 + PHP 4.4.0 = brak polskich znaków
Piszę również tu, gdyż wiem, że audytoria tej listy i
pl.comp.os.linux.debian różnią się, nawet dość wyraźnie.
Debian testing.
Najprawdopodobniej po wykonanym dziś upgrade PHP4 (z 4.3.10 do 4.4.0)
i Apache (1.3.33 do 1.3.34) zniknęły mi polskie znaki w zawartości
stron generowanej z bazy (zamiast nich widzę znaki zapytania).
Dane w bazie przechowywane są w latin2, default-charset w my.cnf
ustawiony jest na latin2. Standardowy klient (commandline) mysql nie
ma problemu z polskimi znakami.
Co ciekawe - phpMyAdmin także nie ma problemu z PLiterkami -- zarówno
przy wybraniu dla niego locale UTF8, jak i iso8859-2 (przy logowaniu)
-- wyświetla PLiterki poprawnie.
Jednak każda inna strona serwowana przez apache (libapache-mod-php4)
zamiast polskich znaków ma znaki zapytania (tylko dla ciągów
pobieranych z bazy MySQL, dane ,,statyczne'' (także gettext)
wyświetlane są poprawnie).
Apache ma AddDefaultCharset = off,
php.ini ma default_charset = iso-8859-2
Serwer zwraca charset iso w nagłówku, strony w <head> także mają
ustawione iso.
Znaki zapytania widzę także przy ręcznym (telnet) udawaniu
przeglądarki (locale zarówno utf8, jak i iso-8869-2).
Na 100% działało to z PHP 4.3.10 i MySQL 4.0 i Apache 1.3.33.
(na 90% także z MySQL 4.1 i PHP 4.3 -- dawno w sumie nie sprawdzałem)
Gdzie może być problem?
Bo po sprawdzeniu tego co przedstawiłem nic więcej ciekawego nie
przyszło mi do głowy.
--
Jacek Politowski
Reply to: