level 5
Gs20010521
楼主
最近一个项目需要把json字符串存入mysql数据库,然后奇怪的问题出现了,取出数据后使用json_decode()解析后输出为空,然而本以为是json字符串有错误,我又尝试着把从数据库取出的json字符串输出到页面上用js去解析又没有错误
于是打印json_last_error() 和 json_last_error_msg()函数查看错误提示,输出为:3和Control character error, possibly incorrectly encoded
百度了一堆,什么转换编码什么bom头字符试了全部无效,网上全是牛马,查了将近7749天资料,无人能解
无奈硬着头皮再次测试: 数据库取出数据后用file_put_contents保存成文件,然后再用file_get_contents取出后使用json_decode仍然输出为空, 于是我将保存的文件下载到本地打开查看(大概看了一两个小时和测试json格式都是
正确的
),一个无意间的操作:我又将下载到本地的文件重新上传覆盖到ftp目录后:再次用file_get_contents取出 json_decode解析$$奇怪的事情发生了(正常输出内容了),这么诡异的事情也有? 仅仅是把文件下载下来然后重新上传覆盖json_decode才可以解析??? 出现这种问题整个人头都大了,我敢说整个cn互联网没人能解决这个问题,百度找出的资料都是牛马人发的,它们从未提出过Control character error, possibly incorrectly encoded的错误,唯一提到的Control character error, possibly incorrectly encoded错误说成是编码问题,我编n****
差点就放弃了,找不出资料,没人能解决我的问题
我放弃了在国内求助,因为它们都是牛马人
我无意间在一个名为stackxxxxx的论坛上找到了资料
回复列表中一位路过的外国网友,它的网名叫:votes
它的一句回复解决了这个问题:
you can remove the control character, PCRE supports the POSIX notation for character classes [:cntrl:]
它是我爹
2021年07月28日 17点07分
1
于是打印json_last_error() 和 json_last_error_msg()函数查看错误提示,输出为:3和Control character error, possibly incorrectly encoded
百度了一堆,什么转换编码什么bom头字符试了全部无效,网上全是牛马,查了将近7749天资料,无人能解
无奈硬着头皮再次测试: 数据库取出数据后用file_put_contents保存成文件,然后再用file_get_contents取出后使用json_decode仍然输出为空, 于是我将保存的文件下载到本地打开查看(大概看了一两个小时和测试json格式都是
正确的
),一个无意间的操作:我又将下载到本地的文件重新上传覆盖到ftp目录后:再次用file_get_contents取出 json_decode解析$$奇怪的事情发生了(正常输出内容了),这么诡异的事情也有? 仅仅是把文件下载下来然后重新上传覆盖json_decode才可以解析??? 出现这种问题整个人头都大了,我敢说整个cn互联网没人能解决这个问题,百度找出的资料都是牛马人发的,它们从未提出过Control character error, possibly incorrectly encoded的错误,唯一提到的Control character error, possibly incorrectly encoded错误说成是编码问题,我编n****
差点就放弃了,找不出资料,没人能解决我的问题
我放弃了在国内求助,因为它们都是牛马人
我无意间在一个名为stackxxxxx的论坛上找到了资料
回复列表中一位路过的外国网友,它的网名叫:votes
它的一句回复解决了这个问题:
you can remove the control character, PCRE supports the POSIX notation for character classes [:cntrl:]
它是我爹