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 智能404跳转代码,适合换域名没改变目录的网站
Jun 04 PHP
php 注释规范
Mar 29 PHP
深入PHP FTP类的详解
Jun 13 PHP
php中的strpos使用示例
Feb 27 PHP
PHP合并静态文件详解
Nov 14 PHP
PHP的关于变量和日期处理的一些面试题目整理
Aug 10 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
PHP加MySQL消息队列深入理解
Feb 27 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
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
JS 类型转换常见方法小结
2010/05/31 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
python调用fortran模块
2016/04/08 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
Python中交换两个元素的实现方法
2018/06/29 Python
通过python爬虫赚钱的方法
2019/01/29 Python
Python 没有main函数的原因
2020/07/10 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
.net面试题
2015/12/22 面试题
线程同步的方法
2016/11/23 面试题
学生个人的自我评价分享
2013/11/05 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
大学生文员专业个人求职信范文
2014/01/05 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
计划生育目标责任书
2015/05/09 职场文书
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python