我正在尝试打印出此 API 调用的结果,但我收到了 UnicodeEncodeError。可能是 super 菜鸟的问题,但真的很感谢对此的任何帮助:)
import http.client
import json
api_key = 'hidden'
connection = http.client.HTTPConnection('api.football-data.org')
headers = { 'X-Auth-Token': api_key, 'X-Response-Control': 'minified' }
connection.request('GET', '/v1/competitions', None, headers)
response = json.loads(connection.getresponse().read().decode())
print(response)
错误:
追溯(最近的调用最后): 文件“/Users/kjetilbergtun/Dropbox/My Python Projects/footballapi.py”,第 13 行,位于 打印(响应)
UnicodeEncodeError:“ascii”编解码器无法对位置 51 中的字符“\xe9”进行编码:序号不在范围内 (128)
最佳答案
encode
被 print
用于将字符串中的 Unicode 字符转换为可以发送到输出设备的字节流。
在启动Python之前,你可以设置环境变量PYTHONIOENCODING
到您的控制台所需的编码。如果您不知道它应该是什么,我建议您在 Windows 上尝试使用 mbcs
,在其他任何地方尝试使用 utf-8
。如果您不提供编码,则默认为 ascii
,它仅适用于最简单的字符串。
关于python - API 调用 (json) 上的 UnicodeEncodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154063/