将BLOB转换为带有外来字符的TEXT

时间:2010-08-11 10:32:39

标签: mysql text blob special-characters

我有一个包含HTML的blob。其中一些HTML有外来字符(即:æ,ø等)。我想将BLOB转换为TEXT。我在我的桌子上使用latin1并且更改这不是一个选项。据我所知,如果我将外来字符存储在TEXT中,它将被转换为类似ASCII的东西。但是如果你将它存储在BLOB中,它就不会存在,它会保留为外来字符。

那么,如何将这个BLOB数据转换为TEXT,并将BLOBL数据转换为特殊字符的ASCII版本?

1 个答案:

答案 0 :(得分:2)

好吧,你的blob拥有二进制数据......所以如果它中有文本(HTML),那么该文本必须以某种方式进行编码。它的编码是什么?

您需要对文本进行解码,然后让mysql将其重新编码为Latin-1。这将保留一些非ASCII字符......但是有很多字符不属于Latin-1。您根本无法在Latin-1中正确表示这些。如果更改不是一个选项,那么也不能选择将所有Unicode字符准确存储为文本。