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 相关文章推荐
多重?l件?合查?(二)
Oct 09 PHP
多php服务器实现多session并发运行
Oct 09 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
php一维二维数组键排序方法实例总结
Nov 13 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
php的闭包(Closure)匿名函数初探
Feb 14 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 PHP
php中的依赖注入实例详解
Aug 14 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
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
python赋值操作方法分享
2013/03/23 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
Python常用编译器原理及特点解析
2020/03/23 Python
Python 如何对文件目录操作
2020/07/10 Python
python opencv实现简易画图板
2020/08/27 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
商务日语毕业生自荐信
2013/11/23 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
自主招生自荐信指南
2014/02/04 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
2016国庆促销广告语
2016/01/28 职场文书
创业计划书之花店
2019/09/20 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android