php数组对象有中文,输出乱码怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php数组对象有中文,输出乱码怎么解决相关的知识,希望对你有一定的参考价值。
$arr=array(
"238"=>"焦点图片",
"240"=>"焦点图片",
"242"=>"焦点图片",
"244"=>"焦点图片",
"246"=>"焦点图片",
"248"=>"焦点图片",
"249"=>"描红头条",
"252"=>"描红头条",
"255"=>"描红头条",
"258"=>"描红头条",
"250"=>"焦点文字",
"251"=>"焦点文字",
"253"=>"焦点文字",
"254"=>"焦点文字",
"256"=>"焦点文字",
"257"=>"焦点文字",
"259"=>"焦点文字",
"260"=>"焦点文字",
"310"=>"优惠促销",
"312"=>"优惠促销",
"314"=>"优惠促销",
"316"=>"优惠促销",
"318"=>"优惠促销",
"320"=>"优惠促销"
);
print_r($arr);
header("Content-type: text/html; charset=utf-8");
并且你的文件编码格式也要是utf8的,这样输出就不会乱码了 参考技术B 一、纯PHP页面的中文乱码问题(数据是静态的)
这个只需要在页面的开始处加入下面代码,然后保存UTF-8编码的文件即可。
<?php
header("Content-type:text/html;charset=utf-8");
?>
二、PHP+mysql中文乱码问题
这个除了按照第一点所说的操作之外,还要在你的数据查询/修改/增加之前加入数据库编码。而且,值得注意的是,这里的UTF8和之前的不一样,中间是没有横线的。
<?php
mysql_query('SET NAMES UTF8');
//接下来的就是查出数据或者修改,增加
?> 参考技术C 问题肯定出在编码格式不统一 参考技术D 页面编码 和文件编码需要一致追问
大神 编码都在哪修改啊 默认编码是什么
追答一般编辑器都有编码类型设置的。。。
PHP输出中文乱码的解决方法(转载)
最近在windows上发现PHP程序中输出来的中文有乱码的情况。
看了很多帖子资料说可以在页面上添加:
http://www.cnblogs.com/leandro/archive/2008/04/21/1368517.html
用echo输出的中文显示成乱码, 其实应该是各种服务器脚本都会遇到这个问题, 根本还是编码问题, 一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 这时候要正常显示中文需要转化一下编码方式,比如 echo iconv("GB2312","UTF-8",‘中文‘);就不会乱码了 还有其他方法,比如 在php的echo前面加入header("Content-Type:text/html;charset=gb2312"); 当然简体中文页面也可以干脆地, 把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312 实际中遇见奇怪的现象, 在本机服务器上正常显示的页面,传上服务器就echo出来乱码, 没仔细琢磨过这个缘由,因为通过iconv函数GB2312、UTF-8换换位置重新编码下就正常了, 不过估计肯定是APACHE,更确切说是PHP服务端的设置不同造成的, 看看PHP.INI应该就能解决。
在每个页面添加 echo iconv("GB2312","UTF-8",‘中文‘);或者<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />会比较痛苦。
最后看到可能是php.ini文件配置问题,就打开php.ini文件,找到 ;default.charset="UTF-8"--->default.charset="UTF-8" 把前面的分号去掉(去掉注释),重启apache服务,刷新页面,中文显示正常。
再次记录下,希望能帮到遇到同样问题的朋友!
以上是关于php数组对象有中文,输出乱码怎么解决的主要内容,如果未能解决你的问题,请参考以下文章
PHP从Mysql查出来的数据转换成json格式中文乱码怎么解决