本地php中用echo json_encode($data, JSON_UNESCAPED_UNICODE)(参考这里https://blog.csdn.net/qmhball/article/details/45690017),可以成功输出汉字。同样的代码放在服务器上,小程序却接收不到数据。
尝试解决方法:
1.网上查询许久不能解决。
2.将服务器直接在浏览器输出,要么输出为空,要么中文部分时乱码,英文部分可以正常现实。
3.调整服务器php版本,同样不能解决。
4.将服务器上php文件中的中文部分删除只留下英文部分,浏览器可以显示英文输出,小程序可以接受英文数据。
5.难道是服务器有问题吗?搜了搜,网上没有类似的提问。
6.本地调试的php是个包含许多其它代码的大文件,可能是其它代码影响了调试,于是新建了一个只包含调试代码的小php文件(test.php)。
继续调试,结果和之前的调试一样。 把服务器上的php文件删除,上传test.php文件。结果浏览器和小程序都能正常输出数据了。
小白总要汤坑无数。到此仍然不明白为啥会这样。
总结一点:调试要用小文件。