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


Posted in PHP onAugust 01, 2017

前言

本文主要给大家介绍了关于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"/>

示例

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

我们现在的HTML5文件,设置编码更为简单,像下面这样

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

第二种、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或更高版本,可以在链接数据库操作后,设置一个字符编码,像下面这样

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

UTF-8编码只是其中一种编码,如果不想使用utf-8编码,也可以使用其他编码,只需将UTF-8换成你想使用的编码就可以,目前中文网站开发中主要用的是GB2312和UTF-8 两种编码。

有一点要注意:在需要做数据库操作的php程序前加的 mysql_query("set names '编码'");编码,一定要和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那mysql编码就是 utf8,这样插入或检索数据时就不会出现乱码了

总结

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

PHP 相关文章推荐
php win下Socket方式发邮件类
Aug 21 PHP
PHP学习之数组值的操作
Apr 17 PHP
php中mysql模块部分功能的简单封装
Sep 30 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
php快速查找数据库中恶意代码的方法
Apr 01 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 PHP
php图片上传类 附调用方法
May 15 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
PHP实现考试倒计时功能代码
Apr 16 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 #PHP
Laravel 的数据库迁移的方法
Jul 31 #PHP
PHP实现webshell扫描文件木马的方法
Jul 31 #PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
Jul 31 #PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 #PHP
php实现将二维关联数组转换成字符串的方法详解
Jul 31 #PHP
微信接口生成带参数的二维码
Jul 31 #PHP
You might like
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
php实现简单爬虫的开发
2016/03/28 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
javascript 特殊字符串
2009/02/25 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
AngularJS Toaster使用详解
2017/02/24 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
简单了解前端渐进式框架VUE
2020/07/20 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
Python科学画图代码分享
2017/11/29 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
jupyter notebook tensorflow打印device信息实例
2020/04/20 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
Python转换字典成为对象,可以用&quot;.&quot;方式访问对象属性实例
2020/05/11 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
中软Java笔试题
2012/11/11 面试题
Delphi笔试题
2016/11/14 面试题
护理工作感言
2014/01/16 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
学习教师法的心得体会
2014/09/03 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
劳模事迹材料范文
2014/12/24 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书