RU EN

Некорректная кодировка данных в таблице

 

Случается, что данные в mysql таблице хранятся в кодировке отличной от кодировки таблицы. Такое могло произойти, например, при заливке данных без указания кодировки источника. Исправить подобную ситуацию можно следующим образом:

CREATE TABLE `tmp`
  (SELECT * FROM `broken_table`);

-- возвращаем столбцы в их "родную" кодировку
ALTER TABLE `tmp`
  MODIFY `wrong_data` CHAR(30),
CHARACTER SET latin1;

-- конвертируем данные в бинарные
ALTER TABLE `tmp`
  MODIFY `wrong_data` BLOB;

-- возвращаем правильную кодировку
ALTER TABLE `tmp`
  MODIFY `wrong_data` CHAR(30),
CHARACTER SET utf8;

Далее исправленные данные переносим из временной таблицы в таблицу-исходник.


Янчарук А.В.
12.06.2013 10:53


Оставить комментарий


Имя  


Комментарий *