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与已存在的Java应用程序集成
Oct 09 PHP
PHP 文件类型判断代码
Mar 13 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
Dec 10 PHP
php实现图片上传、剪切功能
May 07 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
thinkphp修改配置进入默认首页的方法
Feb 07 PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 PHP
YII框架http缓存操作示例
Apr 29 PHP
laravel通用化的CURD的实现
Dec 13 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 Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
php实现数组中索引关联数据转换成json对象的方法
2015/07/08 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
php递归函数怎么用才有效
2018/02/24 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
js资料toString 方法
2007/03/13 Javascript
可实现多表单提交的javascript函数
2007/08/01 Javascript
js window.event对象详尽解析
2009/02/17 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
使用python实现扫描端口示例
2014/03/29 Python
用Python中的字典来处理索引统计的方法
2015/05/05 Python
Python算法应用实战之栈详解
2017/02/04 Python
Python基于WordCloud制作词云图
2019/11/29 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
土木工程毕业生推荐信
2013/10/28 职场文书
员工工作表扬信范文
2014/01/13 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
总经理助理岗位职责
2015/01/31 职场文书
图书借阅制度范本
2015/08/06 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
深入讲解Vue中父子组件通信与事件触发
2022/03/22 Vue.js