不幸的是,我在一个名为uniPaaS的模糊平台上工作,所以我可能会提出一些与平台无关的建议。
我有一个Web服务请求,其中XML文档包含那些恼人的智能引号。字符的字节数据为E2 80 99
(00002019 RIGHT SINGLE QUOTATION MARK
)
当我在登台服务器上将XML文件写入磁盘时,它会正确写入。当我在生产服务器上编写它时,它完全改变了这些字节的值并使XML文档出错:
E2 80 99
变为92
。以前有没有人见过这种行为?它似乎只是一个字节的字符串(但SOAP共振是50Mb大,所以我没有机会分散整个文件)。
答案 0 :(得分:7)
它将其编码为CP1251。
>>> '\x92'.decode('cp1251').encode('utf-8')
'\xe2\x80\x99'