Skip to main content
 首页 » 编程设计

python之API 调用 (json) 上的 UnicodeEncodeError

2025年05月04日7yxwkf

我正在尝试打印出此 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,它仅适用于最简单的字符串。