Преобразование кодировки базы данных - PullRequest
1 голос
/ 05 августа 2010

Я перенес базу данных с одного хоста на другой. Я использовал PMA для экспорта и bigdump для импорта. Вся база данных имеет набор символов latin2 везде, где это возможно. Однако в базе данных специальные символы (польский язык и т. Д.) Не работают. Когда я использовал SELECT, я вижу "кусты" - " " вставка "ą". Затем я установил кодировку документа в utf-8 ... И символы хорошие. Как это исправить? Можно ли это сделать с помощью CONVERT в запросе? Я не хочу снова экспортировать / импортировать базу данных, потому что она имеет более 200 МБ. Что не так?

Каждое решение для запросов PHP / MySQL спасет меня.

Извините, если вы не можете этого понять, потому что я все еще учу английский.

1 Ответ

1 голос
/ 05 августа 2010

Если таблица содержит неправильный тип набора символов (скажем, utf-8 вставлен в столбец latin1 varhcar (255)):

ALTER TABLE tablename MODIFY colummname BINARY(255);
ALTER TABLE tablename MODIFY colummname VARCHAR(255) CHARSET utf8;
ALTER TABLE tablename MODIFY colummname VARCHAR(255) CHARSET latin1;

Смотри также: http://dev.mysql.com/doc/refman/4.1/en/charset-conversion.html

Однако, более вероятно , у вас просто неправильный набор символов в вашем соединении по умолчанию. Что означает SET NAMES latin1; перед выбором?

...