我的数据库的编码为utf8_unicode_ci.
特别是,我有一些特殊的字符(例如,€)存储在我的数据库中,当我应用PHP函数json_encode时它产生一个空值.
我怎样才能解决这个问题?
解决方法:
我的盲目猜测是你的MysqL数据库连接没有设置为UTF-8,这导致即使源数据库是UTF-8也会返回ISO-8859-1字符.
Those characters will break json_encode()
因为它们在UTF-8字符集中无效,json_encode()期望它.
您可能必须将连接编码设置为UTF-8.如何做到这取决于您使用的库.
MysqL_query("SET names utf8;");
或者在MysqL中> 5.0.7,新的
MysqL_set_charset("utf8");