Pythonを使用してQuickbaseAPIを呼び出すときに、エンコーディングに問題があります。APIを呼び出してレコードを取得し、リクエストでエンコーディングパラメータを「UTF-8」として指定します。Quickbaseから返されるXML応答は、XMLが次のように始まるため、UTF-8であると示しています。
<?xml version="1.0" encoding="utf-8" ?>
ただし、XMLバイトは実際にはCP1252としてエンコードされています。右一重引用符(Unicode char U + 2019)がUTF-8バイトシーケンス0xE2 0x80 0x99ではなくバイト0x92(CP1252)としてエンコードされているため、これを確認しました。QuickbaseがXML応答を1つのエンコーディング(UTF-8)であると言っているのに、実際には別のエンコーディング(CP1252)を使用している理由はありますか?
リクエストで「Accept-Charset:utf-8」ヘッダーも渡していますが、効果がないことに注意してください。