我的MySQL中有一个json编码的条目
[{"0":{"town":"İstanbul","location":1},"1":{"town":"Eskişehir","location":1},"orderDay":"2011-09-20"}]
当我从Mysql获取这些数据时,我得到它的原样。完全相同。但是当我尝试解码时,utf8字符会发生变化。像“İ”或“ş”一样不会解码。它们看起来像“u015f”
我的MySql是utf8。我的行也是utf8。我有
header('Content-Type: text/html; charset=utf-8');
在我的php文件的顶部。我也有
mysql_query( "SET NAMES 'utf8' " );
连接到数据库后。
那么我应该怎么做才能用utf8字符解码我的数据?
答案 0 :(得分:0)
编码重音字符的解码似乎在这里正常工作
使用此代码
<?
$str = json_encode(array(name => 'ş'));
echo $str;
print_r(json_decode($str));
?>
如果您看到“u015f”作为值,那么您可能在此转义序列之前缺少正斜杠,那么您确定您的代码没有删除斜杠吗?
答案 1 :(得分:0)
如果您使用浏览器查看此尝试将编码设置为UTF8或自动检测。在Chrome中,这是在工具 - &gt;完成的。编码