http请求中的Dart字符编码
Dart character encoding in http request
刚刚学习 Flutter 和 运行 在尝试调用 API 时遇到此问题:
final response = await http.get(
Uri.https(apiBaseUrl, apiBaseEndpoint + "/tasks"),
headers: {
"Authorization": "Bearer " + apiKey,
},
);
print(response.body);
我的部分回复包含 Ä°ftar
,应该是 İftar
。我想这是一些编码问题? curl
以正确的字符返回给我回复。
基本上:这是文本编码问题吗?如果是这样,我该如何解决我的请求?
好的,在对 http docs 进行更多挖掘之后,我意识到需要更改的不是我提出请求的方式,而是我处理响应的方式。我在做
final decodedJson = json.decode(response.body);
我应该做的:
final decodedJson = json.decode(utf8.decode(response.bodyBytes));
这已经解决了我的问题!
刚刚学习 Flutter 和 运行 在尝试调用 API 时遇到此问题:
final response = await http.get(
Uri.https(apiBaseUrl, apiBaseEndpoint + "/tasks"),
headers: {
"Authorization": "Bearer " + apiKey,
},
);
print(response.body);
我的部分回复包含 Ä°ftar
,应该是 İftar
。我想这是一些编码问题? curl
以正确的字符返回给我回复。
基本上:这是文本编码问题吗?如果是这样,我该如何解决我的请求?
好的,在对 http docs 进行更多挖掘之后,我意识到需要更改的不是我提出请求的方式,而是我处理响应的方式。我在做
final decodedJson = json.decode(response.body);
我应该做的:
final decodedJson = json.decode(utf8.decode(response.bodyBytes));
这已经解决了我的问题!