我正在使用php 5.2。我的文件和数据库表是utf8。
当我插入一个包含json_encoded数据的列时,它会将非ascii字符转换为\ u-something。好。当我json_decode数据那些\ u-somethings仍然存在!
当在utf8页面上显示时,json_decode不应该转换回正常的字符。例如,它应该显示fötter而不是f \ u00f6tter。我是否必须使用其他功能进行转换?
答案 0 :(得分:2)
json_encode和json_decode在PHP中有点弱。两者都做最小化以产生有效但不一定是预期的输出。 json_decode不知道\ u00f6应该是ö
还是\u00f6
。没有办法让json_decode积极地转换unicode字符。请记住,JSON旨在通过JavaScript直接评估,JavaScript将评估这些转义。
但是为什么json编码你的数据将它存储在MySQL中?