php中文乱码问题解决方案汇总
php中文乱码问题
第一种:解决HTML中中文乱码问题方法
如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。
第二种、HTML和PHP混合的页面解决方案
第三种、纯PHP页面的中文乱码问题(数据是静态的)
第四种、PHP+Mysql中文乱码问题
这个除了按照第三种所说的操作之外,还要在你的数据查询/修改/增加之前加入数据库编码。而且,值得注意的是,这里的UTF8和之前的不一样,中间是没有横线的。
header("Content-Type: text/html; charset=utf-8"); $str = '处理使用strrev()函数时的乱码问题'; function cnstrrev($str) { $len = strlen($str); for($i = 0; $i < $len; $i++) { $char = $str{0}; if(ord($char) > 127) //ord()函数取得第一个字符的ASCII码,如果大于0xa0(127)的话则是中文字符 { $i+=2;//utf-8编码的情况下,一个中文字符占三个字节 if($i < $len) { $arr[] = substr($str, 0, 3);//utf-8编码的情况下,一个中文字符占三个字节 $str = substr($str, 3); } } else { $arr[] = $char; $str = substr($str, 1);//否则为非中文,占一个字符 } } return join(array_reverse($arr));//以相反的元素顺序返回数组: } echo $str.'+'.cnstrrev($str);
3. php中json_encode UTF-8中文乱码的解决方法
这种简单的做一个代码转换,urlcode之后再返回所需数组
public static function encodeOperations ($array) { foreach ((array)$array as $key => $value) { if (is_array($value)) { encodeOperations($array[$key]); } else { $array[$key] = urlencode(mb_convert_encoding($value,'UTF-8','GBK')); } } return $array; }
url编码
语法: string urlencode(string str);
返回值: 字符串
函数种类: 编码处理
url解码
还原 URL 编码字符串。
语法: string urldecode(string str);
返回值: 字符串
函数种类: 编码处理
5. php中json_encode处理gbk与gb2312中文乱码问题的解决方法
可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候再用函数urldecode()转回来。
因为XMLHttp在处理返回的responstText的时候把responstBody按UTF-8编码进行解码的,如果服务器端送出的数据流的确是UTF-8编码,那么中文字就会正确显示,但如果是GBK或是其他编码则会出现上述情况。
相关问答
2. php 中文乱码
【相关推荐】
1. 免费视频教程:《php.cn独孤九贱(4)-php视频教程》
2. 相关文章:《php入门教程之一周学会PHP》
以上就是php中文乱码问题解决方案汇总的详细内容,更多请关注其它相关文章!
推荐阅读
-
PHP json_encode() 函数详解及中文乱码问题,
-
phpmailer 发送邮件中文乱码问题的解决方法总结
-
PHP中Ajax中文乱码问题解决
-
php上传文件问题汇总_php实例
-
url传递中文字符,特殊危险字符的解决方案(仅供参考)urldecode、base64_encode_PHP教程
-
php substr()函数截取中文字符串乱码
-
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件_PHP
-
解决php接收shell返回的结果中文乱码问题_PHP
-
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总_PHP
-
服务器返回中文乱码有关问题