Преобразовать BLOB в ТЕКСТ с иностранными символами

У меня есть большой двоичный объект, в котором содержится HTML. Некоторые из этих HTML-кодов содержат иностранные символы (например, æ, ø и т. д.). Я хочу преобразовать BLOB в TEXT. Я использую latin1 для своих таблиц, и изменить это не вариант. Из того, что я могу сказать, если я сохраняю иностранные символы в ТЕКСТе, они преобразуются во что-то вроде ASCII. Но если вы сохраните его в BLOB, это не так, он останется как иностранный символ.

Итак, как я могу преобразовать эти данные BLOB в TEXT и преобразовать данные BLOBL в ASCII-подобные версии для специальных символов?


person David    schedule 11.08.2010    source источник


Ответы (1)


Ну, ваш блоб содержит двоичные данные... поэтому, если в нем есть текст (HTML), этот текст должен быть каким-то образом закодирован. В какой он кодировке?

Вам нужно будет декодировать текст, а затем позволить mysql перекодировать его как Latin-1. Это сохранит некоторые символы, отличные от ASCII... но есть много символов, которые не являются частью Latin-1. Вы просто не сможете правильно представить их на латинице-1. Если изменить это невозможно, то точное сохранение всех символов Unicode в виде текста также не является вариантом.

person Jon Skeet    schedule 11.08.2010