这篇文章主要介绍了php ajax获取中文乱码怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1、执行“iconv('utf-8','gb2312',$_POST['Data']);)”代码。
2、通过PHP从数据库读出中文字符并转成json格式即可。
function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
{
static $recursive_counter = 0;
if (++$recursive_counter > 1000) {
die('possible deep recursion attack');
}
foreach ($array as $key => $value) {
if (is_array($value)) {
arrayRecursive($array[$key], $function, $apply_to_keys_also);
} else {
$array[$key] = $function($value);
}
if ($apply_to_keys_also && is_string($key)) {
$new_key = $function($key);
if ($new_key != $key) {
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
function JSON($array) {
arrayRecursive($array, 'urlencode', true);
$json = json_encode($array);
return urldecode($json);
}
$json_string=JSON($data);
//$obj = json_decode($json_string);
print_r($json_string);
经过这些处理后你会发现后台PHP从数据库读出来的中文字符成功的转成了json格式并且中文显示一切正常!
当然此时前台接收到的数据就是JSON格式的了并且中文字符也是正常!
好了~~就是这些思路~网上方法有很多!看得有点乱~主要是记住思路!
然后就看用什么函数用什么方法解决相关编码问题就可以了!
比较烦那种JS前台AJAX需要转码!后台再解码!有的还需要转两次!
目前我写的这些都是在PHP后台语言代码的情况下有效的.
前台即使是GBK也不用作任何转码操作,全部只在后台PHP代码里面作相关转换就可以了!!
感谢你能够认真阅读完这篇文章,希望小编分享的“php ajax获取中文乱码怎么办”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!