前言
今天发生了一件事,产品跑来说字段保存后会变没。我一想不太可能,就一个ajax不至于这都写错了。
后面发现原来是数据库保存的字段超了,被自动截断了。
但是那个字段我设置了varchar 200,理论上是够的,仔细看了下,原来是我存的时候json_encode了,导致中文被编码变成类似”\u***”的格式,坑了。如何让json更懂中文?
解决办法
json_encode('咖啡色的羊驼', JSON_UNESCAPED_UNICODE);
这样就发现数据库里面存的就不是编码后的码了,而直接是文字
原理
原来为了解决中国人使用json不爽之处,php作者在5.4版本的时候加上了这个参数,不让被code的,从此中文可以在json的时间一眼被辨识出来了。
如果你觉得有收获~可以关注我的公众号【咖啡色的羊驼】~第一时间收到我的分享和知识梳理~