Kodowanie utf8 i latin1

Witajcie

Zakupiłem nowy serwer. Chcę sobie przenieść bazę i lipa, że tak niejednoznacznie powiem.

Eksportuje bazę. Zmieniam tam nazwę bazy danych na taką jaka jest nowa. No, ale po imporcie na nowym mam krzaki na stronie.

Zapewne problem był poruszany już milion razy, ale poczytałem tu i tam i żadna z porad nie daje mi zamierzonego efektu czyli polskich znaków.

Znaki importuje w UTF8 rzecz jasna. Myślę, że problem polega na metodzie porównania zapisów. W poprzedniej mam latin1. Poniżej załączam screena.

Dwie pierwsze tabele mają UTF8, gdyż przeczytałem, że trzeba pozmieniać w strukturze każdej tabeli kodowanie na właśnie takie. Problem w tym, że ta tabela ma jeszcze w sobie inną i tego jest bardzo dużo. W jaki sposób dojść do tego poprawnego kodowania ?

rahxsa.jpg

Istny misz-masz… a w phpMyAdmin widzisz dobrze PL znaki czy tylko na wynikowej stronie źle?

Trzymaj skrypt to masowej zmiany tabel na utf8.

mysql_query("ALTER DATABASE `$dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci");

$res = mysql_query("SHOW TABLES FROM `$dbname`");

while($row = mysql_fetch_row($res)) {

   $query = "ALTER TABLE {$dbname}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_polish_ci";

   mysql_query($query);

   $query = "ALTER TABLE {$dbname}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci";

   mysql_query($query);

}

Już pokazuje screena. Przykładowo ep_comments.

rahnsr.jpg

Wszystko ładnie, pięknie, ale gdzie mam go wkleić, bo w phpmyadmin jestem kompletnie zielony. :frowning:

To jest kod PHP, wklej do skryptu PHP i go wykonaj.

W mojej opinii jak w pma są krzaki to problem jest już na etapie importu.