PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码


Posted in PHP onApril 08, 2013

老声长谈,着是困惑很多人的问题,如果处理不好,都是乱码,说这些话并不是我对编码很精通,只是在这方面是得留神,自己总结了一点小经验(容易出现乱码的地方有php文件里面 ,数据库里面 存储 的编码 ,页面显示 ,数据传输 ):

1.在建数据库的时候,尤其是用phpMyAdmin与MYSQL打交道时候,一般都是utf-8,字段为 utf8_general_ci

数据库的设置:

在my.ini文件中查找:
[mysql]
default-character-set = utf8
[mysqld]
default-character-set = utf8
init_connect = 'SET NAMES utf8 '
全部设置为utf8
保存,重新启动mysql服务

2.在与数据打交道的时候mysql_query("set names 'utf8'");注意是:utf8,不是 utf-8

3.PHP的文件默认的编码是ANSI ,需要转换为UTF-8 ,至于怎么转换editplus就有这样的功能,“另存为”的时候有选择编码UTF-8 ,注意:不能选择:UTF-8 + BOM,如果选择这个了 ,你在处理session的时候就会出现问题,所以一定要注意.还有有的人在eclipse,Myeclipse,ZendStudio里面开发,eclipse里面默认的是ISO-8859-1,需要在“窗口 ”->“首选项 ”打开“首选项”窗口,在左侧“常规 ”->“工作空间 ”,在“文本文件编码 ”里面设置默认的编码为utf-8

4.就是PHP文件里面要说明:如<meta http-equiv="Content-Type" Content="text/html;charset=utf-8">

或者

<?php header('Content-Type:text/html;charset=utf-8');?> 

5.还有就是处理中文等双字节的时候也有可能出现乱码,PHP里面可以采用的有iconv,mb_convert_encoding来处理双字节,其余的可以参考PHP帮助手册

6.在补充一点(遗漏的一点),在你的程序里面你要知道数据之间的传递也有可能存在编码问题的,但是你又不知道传递过来的数据是采用的什么编码,在PHP里面提供了方法来处理的,下面是自己写的一个简单方法,可以参考一下

//编码转换  
        function display_fileencoding($filename)  
        {  
            if(extension_loaded("mbstring"))  
            {  
                $code=mb_detect_encoding($filename);//检测字符串编码  
                $filename=mb_convert_encoding($filename,"UTF-8",$code);//将编码$code转换为utf-8编码  
                return $filename;  
            }  
            else  
                die("请检查系统是否正确安装配置mbstring");  
        } 

要确保mbstring在你的php.ini中启用

7.保证以上几处编码一致就可以了!!数据库,网页输出都不会出现乱码了,如有不对的,请留言指出!!

PHP 相关文章推荐
关于PHP中的Class的几点个人看法
Oct 09 PHP
一个ORACLE分页程序,挺实用的.
Oct 09 PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
PHP中strtotime函数使用方法分享
Jan 10 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
PHP文件上传操作实例详解
Sep 27 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
PHP框架laravel的.env文件配置教程
Jun 07 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
Apr 10 PHP
php面向对象基础详解【星际争霸游戏案例】
Jan 23 PHP
简单的php数据库操作类代码(增,删,改,查)
Apr 08 #PHP
PHP If Else(elsefi) 语句
Apr 07 #PHP
PHP插入排序实现代码
Apr 04 #PHP
php 无法加载mcrypt.dll的解决办法
Apr 03 #PHP
PHP常用的文件操作函数经典收藏
Apr 02 #PHP
精美漂亮的php分页类代码
Apr 02 #PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 #PHP
You might like
apache php mysql开发环境安装教程
2016/07/28 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
JavaScript中的Window窗口对象
2008/01/16 Javascript
一个js的tab切换效果代码[代码分离]
2010/04/11 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
对命令行模式与python交互模式介绍
2018/05/12 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
django框架自定义用户表操作示例
2018/08/07 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
C语言面试题
2015/10/30 面试题
聚网科技C++面试笔试题
2015/09/01 面试题
毕业生个人的求职信范文
2013/12/03 职场文书
社区志愿者心得体会
2014/01/03 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS