У меня есть много записей, где текст был сохранен в BLOB-объекте в MySQL. Для простоты обработки я хотел бы изменить формат в базе данных на TEXT ... Есть идеи, как легко внести изменения, чтобы не прерывать данные - я думаю, это нужно будет правильно закодировать?
214
SELECT CONVERT(column USING utf8) FROM table;
Вот пример человека, который хочет преобразовать BLOB-объект в char (1000) с кодировкой UTF-8 :
Это его ответ. Существует , вероятно , гораздо больше , вы можете прочитать о CAST прямо здесь . Надеюсь, это поможет некоторым.
источник
У меня была такая же проблема, и вот мое решение:
источник
Вы можете сделать это очень легко.
Вышеуказанный запрос работал для меня. Я надеюсь, что это поможет вам тоже.
источник
Если вы используете MYSQL-WORKBENCH , то вы можете выбрать столбец blob обычным способом , щелкнуть правой кнопкой мыши по столбцу и щелкнуть открыть значение в редакторе . см. скриншот:
источник
Или вы можете использовать эту функцию:
источник
Используя phpMyAdmin, вы также можете настроить параметры отображения содержимого BLOB и отображения полного текста.
источник
Ни один из этих ответов не работал для меня. При преобразовании в UTF8, когда кодировщик встречает набор байтов, он не может преобразовать в UTF8, это приведет к? замена, которая приводит к потере данных. Вам нужно использовать UTF16:
Вы можете проверить двоичные значения в MySQL Workbench. Щелкните правой кнопкой мыши по полю -> Открыть значение в Viewer-> Binary. При преобразовании обратно в BINARY двоичные значения должны совпадать с исходными.
В качестве альтернативы, вы можете просто использовать base-64, который был сделан для этой цели:
источник