MySQL Table Convrted для utf-8 - PullRequest
       37

MySQL Table Convrted для utf-8

2 голосов
/ 13 декабря 2011

У меня был старый стол с кодировкой latin1.Используя phpmyadmin, я конвертирую его в utf-8. После этого, когда я читаю данные с помощью php, мои данные отображаются как ?????????вопросительные знаки

моя страница содержит кодировку utf-8, с моим php проблем нет, и я также попробовал:

@mysqli_query("SET NAMES 'utf8'", $db);
@mysqli_query("SET CHARACTER SET 'utf8'", $db);
@mysqli_query("SET character_set_client = utf8 ",$db);
@mysqli_query("SET character_set_results = utf8 ",$db) ;
@mysqli_query("SET character_set_connection = utf8 ",$db);

перед любым запросом

, кажется, неработа, все еще показывая как ??????????

нет проблем для новых записей, но старые записи не читаются

они хранятся в БД, например: غ٠„ام ÛŒ

Есть ли способ восстановить эти старые данные?

1 Ответ

0 голосов
/ 13 декабря 2011

То, что я делал, это переходил в командную строку

mysqldump --default-character-set=latin1 ... > file.sql

, затем преобразуйте file.sql в UTF (используя ICONV или любую другую опцию), затем измените кодировку таблицы и используйте

mysql --default-character-set=utf8 < file.sql

Вы можете просто использовать опцию экспорта из phpMyAdmin и конвертировать, как в примере выше, изменить кодировку таблицы на phpMyAdmin и затем импортировать ее снова.

Обычно я делал резервные копии, прежде чем делать это, потому что случаются ошибки, но это очень просто

...