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学习之数组值的操作
Apr 17 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
解析isset与is_null的区别
Aug 09 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
php数组合并的二种方法
Mar 21 PHP
PHP实现数组递归转义的方法
Aug 28 PHP
php中header跳转使用include包含解决参数丢失问题
May 08 PHP
php获取错误信息的方法
Jul 17 PHP
学习php设计模式 php实现状态模式
Dec 07 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
php验证码生成器
May 24 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 FPDF类库应用实现代码
2009/03/20 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
浅谈django中的认证与登录
2016/10/31 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
建筑专业自荐信
2013/10/18 职场文书
大学毕业通用个人的求职信
2013/12/08 职场文书
怎样填写就业意向
2014/04/02 职场文书
小班评语大全
2014/05/04 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
民间借贷协议书范本
2014/10/01 职场文书
售房协议书范本
2015/08/11 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书