Wiem, wiem, kolejny raz ktoś katuje Was problemem związanym z polskimi znakami. Mam jednak nadzieję, że poświęcicie kilka minut komuś, kto z PHP/MySQL nie miał do czynienia od kilku lat.
Otóż przenoszę stronę www znajomemu z hostingu w Ogicom do Webd. Kod przekopiowałem i przerzuciłem bazę danych za pomocą phpMyAdmin. Oczywiście polskie znaki zostały zastąpione znakami zapytania. No i teraz pytanie w czym problem, albo co mam ustawić, żeby było OK.
Na Ogicom tabelki mają porównywanie napisów na utf8_general_ci a baza utf8_polish_ci. W eksporcie ustawiam opcję "dostosuj" i "kodowanie znaków w pliku" na "UTF-8".
Nowa baza na Webd ma domyślnie porównywanie na latin2_general_ci, więc przestawiam na utf8_polish_ci i przechodzę do importu. "kodowanie znaków w pliku" też jest "UTF-8". Po zaimportowaniu i odpaleniu strony mam krzaki zamiast polskich znaków.
Strona www jest napisana we frameworku CakePHP 1.2 (wiem, staroć ; ). Poniżej konfiguracja bazy:
'driver' => 'adodb', 'connect' => 'mysql', 'persistent' => false, 'host' => 'adres', 'login' => 'login', 'password' => 'haslo', 'database' => 'baza', 'encoding' => 'UTF-8', 'prefix' => '', );
No i pytania na koniec:
1. Czy coś źle ustawiłem albo o czymś zapomniałem?
2. Możecie polecić jakiś artykuł nt. kodowania znaków w MySQL, który wyjaśnia jak ta baza sobie z tym radzi i czemu są takie problemy?
3. Może znacie jakiś lepszy sposób niż phpMyAdmin? exec i mysqldump nie działa niestety na nowym serwerze.
Będę wdzięczny za pomoc!