Я пытаюсь импортировать данные с одного сервера на другой. Но при этом у меня проблемы с кодировкой.
Такие слова, как Goiânia, стали Goià ni, а Conceição - Conceiç £ o.
Мое приложение было настроено на использование кодировки latin1
Сервер 1: Кодировка MySQL: UTF-8 Unicode (utf8) сопоставление таблиц: latin1_swedish_ci
Сервер 2: Кодировка MySQL: UTF-8 Unicode (utf8) сопоставление таблиц: latin1_swedish_ci
Команда, которую я использовал для экспорта данных с сервера 1 mysqldump -u root -p --default-character-set = iso-8859-1 имя_базы_данных> db.sql
Команда, используемая для восстановления на сервер 2 mysql -u root -p имя_базы_данных <db.sql
В зависимости от версии mysql вы хотите использовать:
--default-character-set = latin1
или
--default-character-set = utf8
В некоторых версиях mysqldump есть странная ошибка, когда указание utf8 в командной строке приведет к двойному кодированию таблицы, уже закодированной как utf8, которая была исправлена около года назад в 5.0.51+, если я помню.
Если ваши наборы символов указаны правильно в таблицах, я не думаю, что вам нужно использовать набор символов по умолчанию при выполнении дампа, поскольку он берет его из сопоставления таблицы и набора символов.
Дважды проверьте сопоставление и кодировку в server 1
. Похоже, это другой формат, и даже если вы заставляете другой (iso-8859-1
) при экспорте это не могло работать. Дважды проверьте его на таблице, базе данных и т. Д.
Позвольте мне знать, если это помогает.