我有一个包含英语和俄语数据的数组。我将数组转换为json,就像这样
echo json_encode(array(' list'=>$posts));
它转换了阵列,但没有正确显示俄罗斯数据,输出是这样的
{" list":[{"id":"1","type":"\u0439\u0446\u0443\u043a\u0435\u043d","name":"","description":"","location":"","latitude":"","longitude":""},
{"id":"3","type":"","name":"Cafe","description":"","location":"","latitude":"","longitude":""}]}
维护俄语数据我以不同的方式转换了数组,比如
echo json_encode($posts, 256);
并收到以下输出。转换是正确完成的,但问题是数组没有获得前一个输出中的数组名称“list”。
[{"id":"1","type":"йцукен","name":"","description":"","location":"","latitude":"","longitude":""},
{"id":"3","type":"","name":"Cafe","description":"","location":"","latitude":"","longitude":""}
我尝试将这两种方法结合起来,但也没有用。任何人都可以告诉我如何在第二种方法中获取数组名称
答案 0 :(得分:1)
首先,当陈述并排放置时,应该很容易发现差异:
echo json_encode(array(' list'=>$posts));
echo json_encode($posts, 256);
第一个参数传递的是不同的,所以至少你需要这个:
echo json_encode(array(' list'=>$posts), JSON_UNESCAPED_UNICODE);
其次,"\u0439\u0446\u0443\u043a\u0435\u043d"
相当于"йцукен"
,所以除非你有充分的理由,否则最好只使用默认选项。