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 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
Mar 29 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
Jun 09 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
php内嵌函数用法实例
Mar 20 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
Yii框架弹出框功能示例
Jan 07 PHP
可兼容php5与php7的cURL文件上传功能实例分析
May 11 PHP
php7函数,声明,返回值等新特性介绍
May 25 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 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同时支持GIF、png、JPEG
2006/10/09 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
Vue 2.0双向绑定原理的实现方法
2019/10/23 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
python机器学习实战之K均值聚类
2017/12/20 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
简单了解django文件下载方式
2020/02/10 Python
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
教师个人的自我评价分享
2014/01/02 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
vue3获取当前路由地址
2022/02/18 Vue.js
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS