我目前正在使用dart进行Web开发。使用嘲讽客户端实现服务。但是,发生以下错误。下面的实现代码是一个继承了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'});
错误
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
如果在上述实现代码的名称中放入英语字符串,则不会出错。为什么我插入英语以外的其他字符会出现错误?
如果您知道,请告诉我!
在韩国独自奋斗的飞镖程序员
该Response除非别的东西类使用Latin-1编码的身体。这在构造函数本身上没有明确记录,但是bodygetter上的文档确实建议这样做。
Response
body
尝试在标头中设置字符集/编码,例如:
return Response(test_value, 200, headers: { HttpHeaders.contentTypeHeader: 'application/json; charset=utf-8' });