这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
乱码是我们在开发可能经常遇见,也是最让人头疼的一个问题了,下面这篇文章主要介绍了在 php 开发中,可能遇见中文乱码问题的终极解决方案,文中介绍好几个情况下的解决方法,需要的朋友可以参考借鉴,下面来一起看看吧。
前言
本文主要给大家介绍了关于 php 中文乱码问题的终极解决方案,分享出来供大家参考学习,在开始之前,我们先来谈谈为什么会出现中文乱码?
很多新手朋友学习 PHP 的时候,发现程序中的中文在输出的时候会出现乱码的问题,那么为什么会出现这种乱码的情况呢?一般来说,乱码的出现有 2 种原因,一种是由于编码 (charset) 设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的 "天书",第二种就是文件被以错误的编码打开,然后保存,比如一个文本文件原先是 GB2312 编码的,却以 UTF-8 编码打开再保存,就会出现乱码的问题。本篇文章,就带大家了解一下,怎么解决 php 中乱码的问题。
我们将乱码情况分为以下几种,有需要的可以对照下面的几种情况有针对性的解决乱码问题
第一种:解决 html 中中文乱码问题方法
如果你的 HTML 文件文件出现了乱码问题,那么你可以在 head 标签里面加入 UTF8 编码 (国际化编码):UTF-8 是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
示例
我们现在的 HTML5 文件,设置编码更为简单,像下面这样
第二种、HTML 和 PHP 混合的页面解决方案
如何是 HTML 和 PHP 混编,除了按照第一个方法所说的操作之外,还需要在 PHP 文件的最上面加入这句代码:
- <?php
- header("content-type:text/html;charset=utf-8"); //设置编码
- ?>
第三种、纯 PHP 页面的中文乱码问题(数据是静态的)
如果你的 PHP 页面出现了乱码,只需要在页面的开始处加入下面代码就可以了。
- <?php
- header("content-type:text/html;charset=utf-8"); //设置编码
- ?>
第四种、PHP+Mysql 中文乱码问题
这个除了按照第三种所说的操作之外,还要在你的数据查询 / 修改 / 增加之前加入数据库编码。而且,值得注意的是,这里的 UTF8 和之前的不一样,中间是没有横线的。
- <?php
- mysql_query('SET NAMES UTF8');
- //接下来的就是查出数据或者修改,增加
- ?>
如何你使用的 MySQL 版本在 4.1 或更高版本,可以在链接数据库操作后,设置一个字符编码,像下面这样
UTF-8 编码只是其中一种编码,如果不想使用 utf-8 编码,也可以使用其他编码,只需将 UTF-8 换成你想使用的编码就可以,目前中文网站开发中主要用的是 GB2312 和 UTF-8 两种编码。
有一点要注意:在需要做数据库操作的 php 程序前加的 mysql_query("set names'编码'"); 编码,一定要和 php 编码一致,如果 php 编码是 gb2312 那 mysql 编码就是 gb2312,如果是 utf-8 那 mysql 编码就是 utf8,这样插入或检索数据时就不会出现乱码了
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对 PHPERZ 的支持
来源: http://www.phperz.com/article/17/0824/344400.html