Witam...od kilku dni próbuję uporać się z podobnym problemem. I tak:
Moja konfiguracja na zewnętrzym serwerze:
phpMyAdmin 2.6.4-pl4
MySQL 4.1.13-standard
---------
W phpMyAdmin ustawiłem sobie :
jezyk: pl-utf-8
oraz
system porównań dla połączenia MySQL: utf8_polish_ci
(ponoć MySql w wersji od 4.1 nie obsługuje standardu ISO wiec pojawia się problem ponieważ na wcześniejszym serwerze miałem właśnie kodowanie pl-iso-8859-2.)
Odsyłam tytaj:
MySqlJeśli chodzi o kodowanie latin1_swedish_ci, które Tobie
barts sprawia kłopot to obszedłem ten problem w taki sposób:
nazwa_bazy_danych >> operacje >> Metoda porównywania napisów: i tu zmień sobie z
latin1_swedish_ci na odpowiedni dla Ciebie.
Generalnie znalazłem sposób na poprawne wyswietlanie się polskich znaków ale nie wiem jeszcze w jaki sposób (jakim programem) mogę zamienić znaki z ISO na UTF8 po exporcie bazy danych:
wygląda to tak:
exportuje sobie bazę do pliku i zmieniam w nim kodowanie z iso na utf - czyli np: ąśżźćń zamienia na ±¶¿¼æ.
W phpMyAdmin ustawienia takie jak wyzej napisałem czyli: utf8_polish_ci.
Tym oto sposobem polskie znaki na stronie z kodowaniem: <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> wyświetlają się poprawnie.
WAŻNE:
dane do bazy należy wprowadzać z poziomu php - wtedy znaki polskie automatycznie MYSql zamieni sobie na system UTF.
Jeśli wprowadzamy dane bezpośrednio w MySql należy pamiętać że znaki typu: śćżąńół będą poprawnie przechowywane ale na stronie wyswietlą się krzaczki - w moim przypadku były to znaki zapytania (?)
Jeszcze jedna moja uwaga:
Wcześniej próbowałem zmienić kodowanie w bazie na latin2_general_ci jak tu niektórzy na forum proponowali. Niestety wówczas nie można było wprowadzić do bazy z poziomu php słów z polskimi znakami - wywalało błąd.
Może ma ktoś inny pomysł na to nieszczęsne kodowanie w MySql 4.1? Oraz czy znacie program do konwersji znaków z ISO na UTF?
pozdawiam