解决PHP页面中输出中文乱码问题

PHP页面输出中文,或者PHP读写mysql数据库,PHP读写EXCEL表格的时候,经常会因为编码不一致的问题,导致中文显示乱码。

有一种方法是修改php.ini里边的配置:default_charset = "gb2312",这种方式非常不推荐,因为会导致很多默认编码是UTF-8的PHP程序出错,比如wordpress中对mysql的某些操作,如果定义了php的默认编码是gb2312 ,就会导致输出显示空白。

如果实在解决不了,就在输出文字的时候进行转码,例如:<?php echo iconv("GB2312","UTF-8","小马网络"); ?>

其实乱码的问题,都是有规律可循的,总结一下:

HTML页面,需要保持文件编码、meta编码一致,就不会乱码了。

PHP页面,需要保持文件编码、header、meta编码一致,就不会乱码了,在php页面中,是需要加入如下代码来定义header的:

<?php
header("content-type:text/html; charset=gb2312");
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

 php中,其实只要文件编码、header编码一致,就不会乱码了,但是如果meta编码跟文件编码不一致,会导致编辑文件时,打开文件显示乱码。

打赏