【发布时间】:2012-04-16 08:11:47
【问题描述】:
我在使用 Python 调用 Quickbase API 时遇到了编码问题。我调用 API 来获取记录,并将请求中的 encoding parameter 指定为“UTF-8”。我从 Quickbase 得到的 XML 响应说它是 UTF-8,因为 XML 以:
<?xml version="1.0" encoding="utf-8" ?>
然而,XML 字节实际上被编码为 CP1252。我已经确认了这一点,因为右单引号 (Unicode char U+2019) 被编码为字节 0x92 (CP1252) 而不是 UTF-8 字节序列 0xE2 0x80 0x99。知道为什么 Quickbase 说 XML 响应是一种编码 (UTF-8) 但实际上使用的是另一种 (CP1252)?
请注意,我还在请求中传递了“Accept-Charset: utf-8”标头,但这没有任何效果。
【问题讨论】:
-
你考虑过对 Intuit 大喊大叫吗?
-
是的,好主意,谢谢。一开始找不到他们的支持表格,但现在给他们发了电子邮件。
-
他们的 CS 代表回复我说:“我已为您进一步调查,发现此时最好的办法是通过我们的用户语音功能搜索看看是否有其他人要求增强对 UTF8 编码的支持。如果是,我建议你投票。所以请对quickbase.uservoice.com/forums/… 投票——与此同时,我将使用 dan04 的解决方案来解决它。
-
“增强”?不推荐列表的另一个名称。
标签: python xml api encoding quickbase