PHP json_decode 无法解析特殊问号字符
2017-10-25 10:16
1136 查看
在通过别人接口请求信息的时候,偶尔会遇到由于部分字符,如以下情况,则通过json_decode是会返回null的
但是这种情况通常不是由于整体编码的问题,因为在解析的时候就是以utf-8的编码解析的
这种情况通常会是中英文并存,但是部分空白字符无法识别。
通过对系统逻辑的观察,应该是由于前段保存字符的时候出现了非utf-8能够识别的字符,这种情况在json_encode中并不受影响,所以直接导致了接口获取数据的时候出现非法字符
解决方案:
对通过curl请求回来的字符在进行一次强制编码,这种情况下原本的utf-8编码的文字不会受到影响,同时utf-8无法识别的字符将会被强制解析,解析出来之后的字符就会变成英文符号的? ,
这样就能够顺利的json_decode 了
但是这种情况通常不是由于整体编码的问题,因为在解析的时候就是以utf-8的编码解析的
这种情况通常会是中英文并存,但是部分空白字符无法识别。
通过对系统逻辑的观察,应该是由于前段保存字符的时候出现了非utf-8能够识别的字符,这种情况在json_encode中并不受影响,所以直接导致了接口获取数据的时候出现非法字符
解决方案:
$return_data=mb_convert_encoding($return_data, "UTF-8","UTF-8");
对通过curl请求回来的字符在进行一次强制编码,这种情况下原本的utf-8编码的文字不会受到影响,同时utf-8无法识别的字符将会被强制解析,解析出来之后的字符就会变成英文符号的? ,
这样就能够顺利的json_decode 了
相关文章推荐
- php json_decode无法解析特殊问好字符
- php json_decode 无法解析,返回值null
- php 中利用json_encode和json_decode传递包括特殊字符的数据
- php 中利用json_encode和json_decode传递包含特殊字符的数据
- json_decode在php中的一些无法解析的字符串
- 关于web传给后台的json中包含特殊字符导致无法解析的解决方案
- php中json_decode无法解析原因
- json无法解析的特殊字符(控制码)
- PHP接收IOS post过来的json数据无法解析的问题
- android 客户端无法解析php服务端返回的json
- json无法解析的字符
- 遇到的问题--------C#连接数据库的语句带特殊字符时无法解析
- php下POST json数据无法解析问题
- PHP返回的json字符串包含的特殊字符
- 遇到的问题--------C#连接数据库的语句带特殊字符时无法解析
- 处理内容有&特殊字符thinkphp返回xml无法解析的问题<![CDATA[xxx]]>
- php使用json_decode解析json返回NULL
- php的JSON 总结 json_decode() 解析错误 及 PEAR JSON.PHP使用