MySQL получает неизвестные символы в данных между базами данных Linux и Windows - PullRequest
2 голосов
/ 31 марта 2011

Я потерян на этом.У меня есть веб-сайт, на котором я работаю в автономном режиме, затем я загружаю его на работающий сервер, импортирую базу данных MySQL на работающий сервер и в целом запускаю.Проблема заключается в том, что при экспорте базы данных с LIVE-сервера и импорте обратно на LOCAL-сервер в выводе XHTML появляются неизвестные символы: черный ромб с белым вопросительным знаком в середине, вы знаете один.

Команда, которую я использовал для экспорта своей базы данных из локальной установки MySQL, выглядит следующим образом:

mysqldump --verbose -hlocalhost -uxxx -pxxx --databases xxx --add-drop-table --default-character-set UTF8 > somedir/xxx.sql

Затем, при импорте этих данных в базу данных LIVE, я использовал простую команду следующим образом:

mysql -hlocalhost -uxxx -pxxx somedatabase < xxx.sql

Отлично, все хорошо, данные импортированы и на сайте НЕТ неизвестных символов.Однако, когда я делаю то же самое в обратном порядке (дамп на работающем сервере с помощью той же команды, что и в Windows, импорт в Windows с помощью той же команды mysql), то есть, когда появляются все неизвестные символы.

Это проблема сопоставления?Использую ли я неправильный - набор символов по умолчанию ?

У меня никогда не было такого раньше, и я хотел бы получить обратную связь или толчок в правильном направлении.


ОБНОВЛЕНИЕ: я полностью отбросил свой локальный, экспортировал ВСЕ живые БД и импортировал.Все та же ошибка: / Это сводит меня с ума!


Большое спасибо, Саймон

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Попробуйте с обеих сторон:

SET names UTF-8

Возможно, значения по умолчанию отличаются.

0 голосов
/ 31 марта 2011

Я подозреваю, что у вашего живого сайта другая схема базы данных, это может быть latin1?

...