如何修复unicode字母?

时间:2011-10-16 03:00:51

标签: http unicode encoding character-encoding encode

电子邮件中有人给我发了这样的信件

IVIØR†€™

正确应该是

IVIØR†€™

假设是 我如何用原始的葡萄牙语语言表示它们,在通过HTTP GET请求后它被改变了。

我可能无法修复网站..但是可能会创建一个修复工具来修复这些破碎的编码字母?或者有人知道任何修理工具?或者如何手动手动完成?似乎什么都没有丢失......只是解释得很糟糕

2 个答案:

答案 0 :(得分:4)

这里发生的事情是UTF-8被误解为ISO-8859-1;然后是其他类型的重整(错误的ISO-8859-1字符串被重新UTF-8编码;非破坏空格字符'\ xA0'被转换为常规空间'\ x20')似乎后来发生了,虽然这些可能只是将其粘贴到Stack Overflow中。

由于随后的重整,没有什么好方法可以完全撤消它,但你可以在很大程度上通过传递一个非常严格的UTF-8解释器来撤消它。例如,如果我将“IVIÃ〜R”,“¢”作为文本文件保存在我的计算机上,使用记事本,使用“ANSI”(单字节)编码,然后我在Firefox中打开它告诉它将其解释为UTF-8(Firefox> Web Developer>字符编码> Unicode(UTF-8)),然后显示“IVIØR €™”。 (“ ”是因为'\ xA0'已更改为'\ x20',这打破了UTF-8编码。)

答案 1 :(得分:0)

他们可能没有被打破。它们发送的编码与您正在查看的解码之间存在差异。

找出最初使用的编码,并使用相同的编码对其进行解码,它应该看起来像原始编码。在写一个" fix-it"工具,您始终需要知道它们最初创建的编码,这可能很复杂,具体取决于来源,以及您是否可以访问所述信息。