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 urlencode()与urldecode()函数字符编码原理详解
Dec 06 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
jquery+thinkphp实现跨域抓取数据的方法
Oct 15 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
php7 新增功能实例总结
May 25 PHP
php TP5框架生成二维码链接
Apr 01 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
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
通俗易懂的php防注入代码
2010/04/07 PHP
PHP写的求多项式导数的函数代码
2012/07/04 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
2019/06/25 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
Lazy Load 延迟加载图片的jQuery插件中文使用文档
2012/10/18 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
js QQ客服悬浮效果实现代码
2014/12/12 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
Bootstrap table表格简单操作
2017/02/07 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
基于Webpack4和React hooks搭建项目的方法
2019/02/05 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
简单理解Python中基于生成器的状态机
2015/04/13 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
Python中的Numpy矩阵操作
2018/08/12 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
Python自省及反射原理实例详解
2020/07/06 Python
Python之字典添加元素的几种方法
2020/09/30 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
行政办公员自我评价分享
2013/12/14 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
交通事故协议书范本
2014/11/18 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL