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