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

Mar*_*son 2 xml utf-8

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

我有一个Web服务请求,其中XML文档包含那些恼人的智能引号.字符的字节数据是E2 80 99(这是一个00002019 RIGHT SINGLE QUOTATION MARK)

Wireshark捕获SOAP请求

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

两个文件的十六进制比较

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

Ign*_*ams 7

它将其编码为CP1251.

>>> '\x92'.decode('cp1251').encode('utf-8')
'\xe2\x80\x99'
Run Code Online (Sandbox Code Playgroud)