nie jestem do końca pewny czy to dobry dział (bo nie jestem pewny czy to problem bazy, czy czego)- jeśli nie to bardzo proszę o przeniesienie do właściwego działu.
Zanim dostanę link do wyszukiwarki to powiem tylko, że przeczytałem już wiele wątków i porad na różnych forach, niestety żadna nie pomogła.
Problem jest następujący:
z okazji zmiany serwera w firmie zmienił się też system i wersje softu.
Do tej pory było tak:
MySQL 5.1.66
Apache 2
PHP 5.3.27
OS Gentoo
Teraz jest tak:
MySQL 5.5.35
Apache 2
PHP 5.4.4-14
OS Debian
Serwer MySQL i serwer WWW to dwie oddzielne maszyny (wcześniej było tak samo). W systemach jest ustawione kodowanie utf-8, MySQL jest ustawiony na utf-8, Apache, php i kodowanie w plikach php i html ustawione jest na utf-8. Metoda porównywania napisów ustawiona jest na utf8_general_ci. Niby wszystko jest OK, ale jednak nie do końca.
W momencie kiedy skrypt PHP odczytuje dane z bazy i wyświetla je na ekranie to zamiast PL znaków pojawiają się pytajniki. Kiedy przeglądam bazę przez PHPMyAdmina albo z konsoli, to wszystko wyświetla się poprawnie, są wszystkie polskie znaki.
Jeśli zapisuję coś do bazy z poziomy skryptu PHP, to w bazie zamiast PL znaków zapisują się krzaczki (nie pytajniki tylko krzaczki). To też widzę z poziomu PHPMyAdmina, bo wyświetlając dodane rekordy przez skrypt php polskie znaki pojawiają się poprawnie.
Żeby było ciekawiej- podłączając się do bazy na nowym serwerze przez skrypt php na starym serwerze WWW wszystko wyświetla się poprawnie.
Brakło mi pomysłów co jest nie tak. Nie wiem czemu przy zapisie do bazy pojawiają się krzaczki. Nie wiem czemu przy odczycie pojawiają się pytajniki. Chyba podałem wszystkie ważne informacje.. jeśli nie to napiszcie czego jeszcze brakuje.
Będę wdzięczny za podpowiedzi.. z góry dziękuję za pomoc

Problem rozwiązany. Sprawa dotyczy domyślnej konfiguracji MySQL. Od wersji 5.1.xx domyślnie MySQL koduje bazy jako Latin1. Nie ma znaczenia, że przy zakładaniu bazy wybierze się inne kodowanie, że da tabel ustawi się inne. MySQL mocno rozbudowało konfigurację kodowania znaków, przez co należy zmienić DOMYŚLNE kodowanie w konfiguracji samego serwera. Wtedy wszystko działa poprawnie.
Temat do zamknięcia.