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程序的方法
Mar 09 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
获取URL文件名后缀
Oct 24 PHP
PHP中读取照片exif信息的方法
Aug 20 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
php+ajax实现文章自动保存的方法
Dec 30 PHP
php+mysqli事务控制实现银行转账实例
Jan 29 PHP
关于php中一些字符串总结
May 05 PHP
利用PHP抓取百度阅读的方法示例
Dec 18 PHP
Laravel框架实现定时发布任务的方法
Aug 16 PHP
php项目中类的自动加载实例讲解
Sep 12 PHP
Laravel 错误提示本地化的实现
Oct 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 八种基本的数据类型小结
2011/06/01 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
心扬JS分页函数代码
2010/09/10 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
实例讲解Vue.js中router传参
2018/04/22 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
vue v-model的用法解析
2020/10/19 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Python守护进程用法实例分析
2015/06/04 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
安卓程序员求职信
2014/02/28 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
公司出纳岗位职责
2015/03/31 职场文书
2016中秋节广告语
2016/01/28 职场文书
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python