php中文乱码问题的终极解决方案汇总

 更新时间:2017年08月01日 09:43:39   作者:薄雾  
乱码是我们在开发可能经常遇见,也是最让人头疼的一个问题了,下面这篇文章主要介绍了在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,这样插入或检索数据时就不会出现乱码了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持

相关文章

  • PHPwind整合最土系统用户同步登录实现方法

    PHPwind整合最土系统用户同步登录实现方法

    我的任务就是让PHPWind和最土登录同步,领导也知道我的技术能力有限,不怎么高要求,所以让我先实现,再考虑其他。赶鸭子上架,开工了。
    2010-12-12
  • PHP压缩图片功能的介绍

    PHP压缩图片功能的介绍

    今天小编就为大家分享一篇关于PHP压缩图片功能的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • php设计模式 Command(命令模式)

    php设计模式 Command(命令模式)

    将一个请求封装为一个对象从而使你可用不同的请求对客户进行参数化,对请求排除或记录请求日志,以及支持可取消的操作
    2011-06-06
  • php新建文件自动编号的思路与实现

    php新建文件自动编号的思路与实现

    在系统中 在新建文件是可以实现自动编号。比如新建文本文件 默认文件名是:新建 文本文档.txt,如果继续新建时文件名自动变了:新建 文本文档 (2).txt, 以后就是 3,4,5….请问这种算法用PHP怎么实现。
    2011-06-06
  • PHP __call()方法实现委托示例

    PHP __call()方法实现委托示例

    这篇文章主要介绍了PHP __call()方法实现委托,简单介绍了委托的概念、原理,并结合实例形式分析了__call()方法实现委托的相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • php构造方法中析构方法在继承中的表现

    php构造方法中析构方法在继承中的表现

    这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • PHP中常用数组处理方法实例分析

    PHP中常用数组处理方法实例分析

    把php中常用的几种处理数组的方法都整理了下,方便了大家学习,大家可以逐个去运行下,熟悉php数组的使用
    2008-08-08
  • PHP中list()函数用法实例简析

    PHP中list()函数用法实例简析

    这篇文章主要介绍了PHP中list()函数用法,结合实例形式简单分析了list()函数的功能,参数定义,使用技巧及相关注意事项,需要的朋友可以参考下
    2016-01-01
  • php使用mysqli向数据库添加数据的方法

    php使用mysqli向数据库添加数据的方法

    这篇文章主要介绍了php使用mysqli向数据库添加数据的方法,实例分析了php使用mysqli进行数据库操作的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • php保存任意网络图片到服务器的方法

    php保存任意网络图片到服务器的方法

    这篇文章主要介绍了php保存任意网络图片到服务器的方法,涉及php通过curl操作远程图片的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论