php中文乱码无法解决_php中文乱码问题解决方法

导入php中文乱码问题一般就是字符集编码问题了,只有字符集编码问题才会导致中文乱码了,这是我总结了所有在php开发中看到中文乱码问题的根本原因了,下面我整理了一些关于php中文乱码问题解决办法与例子,希望能解决各位的朋友哦。

1.mysql php中文乱码

出现这种问题是数据库连接与网页编码不统一导致了

解决办法

在mysql 连接时我们在后面设置一句

mysql_query("SET NAMES GBK");

例子

在连接数据库的语句中.

 代码如下复制代码

mysql_connect('localhost','user','password');

mysql_select_db('my_db');

mysql_query("set names 'utf8'"); //select 数据库之后加多这一句

2.PHP中文文件名输出乱码

出现文名乱码是我们环境不支持中文所导致了或编码问题我们只要进行转换字符编码为uft8即可

 代码如下复制代码

$file_name="我的文件.jpg";

$file_name=iconv("utf-8","gb2312",$file_name);   //解决中文乱码问题

echo '$file_name';

3.json_encode中文乱码问题

1.json_encode UTF8码中文后的字符串不可阅读

2.json_encode 多级数组中文乱码问题

3.json_encode 数组中包含换行时错误问题

4.json_encode 数组中键为中文的问题

 代码如下复制代码

function _encode($arr)

{

$na = array();

foreach ( $arr as $k => $value ) {

$na[_urlencode($k)] = _urlencode ($value);

}

return addcslashes(urldecode(json_encode($na)),"rn");

}

function _urlencode($elem)

{

if(is_array($elem)){

foreach($elem as $k=>$v){

$na[_urlencode($k)] = _urlencode($v);

}

return $na;

}

return urlencode($elem);

}

3.HTML内容编码

,这里我们指定了浏览器在解析HTML时使用UTF-8编码 。如果这里没有指定,浏览器会使用自己缺省的编码。不同的浏览器缺省编码会有所不同,比如IE6是GB2312,FireFox是UTF-8。所以,上面这段代码如果没有,在FireFox会显示正常,在IE6就会显示乱码。

4.php内容乱码

在php中我们只要在文件头加上

 代码如下复制代码

header("Content-type:text/html;charset=utf-8");

?>

5.url中文乱码的兼容性

在url地址里出现中文参数,接收页面出现乱码,这个是经常遇到的问题

最基本的解决办法是链接里加上urlencode,接收页面会自动解码或者加上urldecode

但是有时候链接来自多个地方,有的意见urlencode了,有点没有

比如在谷歌浏览器(chrome)地址栏里敲入中文,传递的过程浏览器会自动给你编码

而IE核心缺不然

这就导致同一个接收页面在谷歌浏览器里可以正常显示,而在IE浏览器则是乱码。

解决方法:

 代码如下复制代码

$keyboard2 = iconv("gb2312","UTF-8",$keyboard);

if($keyboard2)

$keyboard=$keyboard2;

6.htmlentities汉字中文乱码

htmlentities函数作用在汉字变量中的时候会出现乱码

$resultsText = str_replace("[QUERY]", htmlentities($(www.111cn.net)query), $resultsText);

正确的做法是改变htmlentities的默认参数

htmlentities($query,ENT_COMPAT,'UTF-8')

7.PHP下载文件名中的中文乱码

 代码如下复制代码

$filename = "中文 文件名.txt";

$encoded_filename = urlencode($filename);

$encoded_filename = str_replace(" ", " ", $encoded_filename);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值