如何使得中文不被 json
答案:2 悬赏:0 手机版
解决时间 2021-02-24 03:45
- 提问者网友:疯子也有疯子的情调
- 2021-02-24 00:58
如何使得中文不被 json
最佳答案
- 五星知识达人网友:酒安江南
- 2021-02-24 01:59
使用 php 自带的 json_encode 函数对数据进行编码时,中文都会变成 unicode,导致不可读,并且增加传输数据的大小,比如,对字符串“我爱水煮鱼”进行 json_encode 后,输出的是”\u6211\u7231\u6c34\u716e\u9c7c”,那么如何使得中文不被 json_encode 不编码成 unicode 呢,有两种方法:
1. 先将中文字段 urlencode , json_encode 后,再用 urldecode ,也可以显示中文。
echo urldecode(json_encode(urlencode("我爱水煮鱼")));
2. 如果使用的 PHP 版本是 5.4 以上的版本, json_encode 函数已经新增了一个选项: JSON_UNESCAPED_UNICODE 。加上这个选项后,就不会自动把中文编码了。
echo json_encode("我爱水煮鱼", JSON_UNESCAPED_UNICODE);
1. 先将中文字段 urlencode , json_encode 后,再用 urldecode ,也可以显示中文。
echo urldecode(json_encode(urlencode("我爱水煮鱼")));
2. 如果使用的 PHP 版本是 5.4 以上的版本, json_encode 函数已经新增了一个选项: JSON_UNESCAPED_UNICODE 。加上这个选项后,就不会自动把中文编码了。
echo json_encode("我爱水煮鱼", JSON_UNESCAPED_UNICODE);
全部回答
- 1楼网友:山君与见山
- 2021-02-24 03:18
在bb10 cascades开发环境中可以轻松地通过jsondataaccess类读写json文件,将json文件中的数据转换成内存对象。
不过对于中国开发者来讲有个苦恼,就是通过样例读取json文件时如果json文件中有中文字符,所有中文字符在bb10 cascades组件中显示时会显示为乱码,就是显示成一个方框。
解决这个问题的方法很简单,就是设置json文件的编码格式,因为bb10 cascades开发环境使用utf-8作为缺省编码,所以需要将程序使用的json文件转成utf-8格式。
当然,对json文件的编码转换可以使用很多种方式,如使用ultraedit等工具,不过最方便的是使用bb10 cascades自带的工具进行转换。
在bb10 cascades开发环境中右键选择需要处理的json文件,点击“properties”打开文件属性框,然后在“text file encording”选择项中选择“other”,然后选择“utf-8”。这样就可以将你需要处理的json文件转换成utf-8格式,在程序中使用时就不会有乱码了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯