Выполните шестнадцатеричный дамп (то есть: SELECT HEX(columnname) FROM table
) на обоих серверах и посмотрите, совпадают ли данные.Если это так, то вы будете знать, что, по крайней мере, данные не были повреждены.
В этом случае вам просто нужно установить правильную кодировку и параметры сортировки для серверов.Если нет, вам, вероятно, придется заново выполнить передачу данных, и на этот раз убедитесь, что настройки верны.
Другое дело, убедитесь, что кодировка браузера установлена в utf-8.
РЕДАКТИРОВАТЬ: Таким образом, данные действительно были повреждены при передаче.C3A7C593E280B9
является UTF-8 представлением 看
.Вероятно, это связано с тем, что server1 отправляет данные в формате latin1, а server2 кодирует их в UTF-8.
Перед передачей данных необходимо изменить параметры подключения на сервере server1.Для этого выполните следующие запросы:
SET CHARACTER SET utf8; SET NAMES utf8
Затем повторите попытку передачи данных.
РЕДАКТИРОВАТЬ 2: Я думаю, что здесь происходит то, что вы сказали.Данные, хранящиеся в вашей базе данных, закодированы в UTF-8.Когда PHP (Wordpress) извлекает эти данные, он «думает», что они закодированы в латинице 1 (ISO-8859-1), что (к сожалению) используется PHP по умолчанию.PHP продолжает предоставлять эти данные в браузер пользователя, как если бы они были закодированы в латинице 1, но устанавливает кодировку символов как UTF-8, и пользователь видит то, что он должен видеть.
Короче говоря, этослучай двух ошибок делает право.Теперь у вас есть два варианта:
Исправить данные.(т. е. считайте его как UTF-8 и запишите обратно как латиница 1)
Установите для настроек соединения server2 то же самое, что и для server1, что приведет к тому, что данные все еще будут отображаться 1030 * правильно.