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 相关文章推荐
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
php实现的表单验证类完整示例
Aug 13 PHP
Laravel 验证码认证学习记录小结
Dec 20 PHP
基于PHP实现生成随机水印图片
Dec 09 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
php对大文件进行读取操作的实现代码
2013/01/23 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
jquery判断至少有一个checkbox被选中的方法
2015/06/05 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
python的dict判断key是否存在的方法
2020/12/09 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
蔻驰英国官网:COACH英国
2020/07/19 全球购物
优秀毕业生事迹材料
2014/02/12 职场文书
青春寄语大全
2014/04/09 职场文书
献爱心活动总结
2014/05/07 职场文书
学校交通安全责任书
2014/08/25 职场文书
公司员工离职证明书
2014/10/04 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android
java设计模式--建造者模式详解
2021/07/21 Java/Android