我目前正在使用 Dart 进行 Web 开发。
使用mockclient实现服务。
但是,出现以下错误。
下面的实现代码是一个继承mockClient的内存web api服务。
调用client.send()并返回结果的代码。
test_value是json.encode(数据)的结果。
var test_value = '{"id": 1, "type": "Appetizer", "name": "한글"}';
return Response (test_value, 200, headers: {'content-type': 'application / json'});
ERROR
Invalid argument(s): String contains invalid characters.
dart:convert Latin1Codec.encode
package:http/src/response.dart 36:49 new Response
package:basil/common/mock_rest/mock_recipe.dart 40:12 MockRecipe._handler
如果在上面的实现代码的名称中放入英文字符串,则不会出错。
为什么插入英文以外的字符时会出现错误?
如果您知道请告诉我!
一个在韩国独自奋斗的dart程序员
The Response https://pub.dartlang.org/documentation/http/latest/http/Response-class.html除非另有指定,类对主体使用 Latin-1 编码。
构造函数本身没有明确记录这一点,但有关的文档body
getter 确实建议这样做。
尝试在标头中设置字符集/编码,例如:
return Response(test_value, 200, headers: {
HttpHeaders.contentTypeHeader: 'application/json; charset=utf-8'
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)