Php 颤振:解析带有特殊字符的Json(utf-8)
我有一个非常基本的php代码,可以生成包含一些数据的JSON文件:Php 颤振:解析带有特殊字符的Json(utf-8),php,json,parsing,flutter,utf-8,Php,Json,Parsing,Flutter,Utf 8,我有一个非常基本的php代码,可以生成包含一些数据的JSON文件: $json = json_encode($theData, JSON_PRETTY_PRINT | JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE); file_put_contents('api.json', $json); 当我在我的flatter应用程序中解析它时,它会返回特殊字符,而不是像“戥戥戥戥戥”这样的字符 我在Flatter中解析json文件,如下所示: var data
$json = json_encode($theData, JSON_PRETTY_PRINT | JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE);
file_put_contents('api.json', $json);
当我在我的flatter应用程序中解析它时,它会返回特殊字符,而不是像“戥戥戥戥戥”这样的字符
我在Flatter中解析json文件,如下所示:
var data = await http.get("xxxx/api.json", headers: {'Content-Type': 'application/json'});
if (data.statusCode == 200) {
print('Status Code 200: Ok!');
var jsonData = json.decode(data.body);
然后,我发现改变:
json.decode(data.body);
作者:
解决了这个问题
问题是:为什么使用utf8.decode和bodyBytes解决了这个问题?我是否正确地使用PHP创建JSON文件?数据从哪里来?听起来数据的存储方式或PHP脚本的访问方式可能有问题。$theData基本上是我创建的一个数组。这是一个基本的json结构。内容中有许多特殊字符,如“俎óá俎”。然后我将其写入共享主机服务器中的一个“.json”文件中。然后我将解析到flatter应用程序中。谢谢-
json.decode(utf8.decode(data.bodyBytes))
完成了。我很高兴,$theData
来自哪里?听起来数据的存储方式或PHP脚本的访问方式可能有问题。$theData基本上是我创建的一个数组。这是一个基本的json结构。内容中有许多特殊字符,如“俎óá俎”。然后我将其写入共享主机服务器中的一个“.json”文件中。然后我将解析到flatter应用程序中。谢谢-json.decode(utf8.decode(data.bodyBytes))
完成了。我很高兴
json.decode(utf8.decode(data.bodyBytes));