我在使用 Python 调用 Quickbase API 时遇到了编码问题。我调用API获取记录,并在请求中指定编码参数为“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”标头,但这没有任何效果。