XML UTF-8数据的编写方式不同

时间:2010-11-24 02:13:41

标签: xml utf-8

不幸的是,我在一个名为uniPaaS的模糊平台上工作,所以我可能会提出一些与平台无关的建议。

我有一个Web服务请求,其中XML文档包含那些恼人的智能引号。字符的字节数据为E2 80 9900002019 RIGHT SINGLE QUOTATION MARK

Wireshark capture of SOAP request

当我在登台服务器上将XML文件写入磁盘时,它会正确写入。当我在生产服务器上编写它时,它完全改变了这些字节的值并使XML文档出错:

Hex comparison of the two files

E2 80 99变为92。以前有没有人见过这种行为?它似乎只是一个字节的字符串(但SOAP共振是50Mb大,所以我没有机会分散整个文件)。

1 个答案:

答案 0 :(得分:7)

它将其编码为CP1251。

>>> '\x92'.decode('cp1251').encode('utf-8')
'\xe2\x80\x99'