Witam!

Ostatnio jeden z klientów zwrócił mi uwagę, że gdy eksportuje bazę danych do pliku tekstowego przy pomocy phpMyAdmina dostępnego na naszej stronie, to plik wynikowy zakodowany jest w UTF-8 (a on by chciał w iso-8859-2). Sprawdziłem i... rzeczywiście. Po małym śledztwie okazało się, że:
- jeżeli eksportuję bazę danych (znajdującą się na serwerze MySQL 4.1.x) przy pomocy narzędzie mysqldump to mogę podać opcję --default-character-set=latin2 i mam plik wynikowy w kodowaniu iso-8859-2. Jeżeli nie podam tej opcji to dostanę plik w kodowaniu UTF-8.
- w kodzie phpMyAdmina jest fragment kodu, który sprawdza wersję serwera MySQL i jeżeli jest ona większa niż 4.1 to ustawia kodowanie na UTF-8 i blokuje jakąkolwiek możliwość zmiany kodowania przez użytkownika.

Dla pewności ściągnąłem najnowszą wersję phpMyAdmina i dokonałem przy jej pomocy eksportu bazy danych do pliku. Jakie wyszło kodowanie wynikowe? Oczywiście UTF-8. Na panelu eksportu bazy danych w phpMyAdminie nie ma możliwości wybrania kodowania pliku wynikowego.

Teraz pytanie: czy faktycznie phpMyAdmin'owi brakuje opcji wybrania kodowania przy eksporcie bazy danych czy ja mam ustawione coś nie tak?

Poniżej część opcji z my.cnf mojego serwera MySQL:
Cytat
default-character-set=latin2
collation-server=latin2_general_ci
character-set-server=latin2
init-connect='SET NAMES latin2'


A tutaj zrzut ekranu z phpMyAdmina ze strony głównej i z sekcji Zmienne systemowe serwera MySQL: