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执行速度全攻略(下)
Oct 09 PHP
新手学PHP之数据库操作详解及乱码解决!
Jan 02 PHP
个人站长制做网页常用的php代码
Mar 03 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 PHP
php目录操作实例代码
Feb 21 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
windows7配置Nginx+php+mysql的详细教程
Sep 04 PHP
PHP对象相关知识总结
Apr 09 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 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开发中常用的字符串操作函数
2011/02/08 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
web 页面分页打印的实现
2009/06/22 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
D3.js实现雷达图的方法详解
2016/09/22 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
node省市区三级数据性能测评实例分析
2019/11/06 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
移动通信专业自荐信范文
2013/11/12 职场文书
个人自我评价分享
2013/12/20 职场文书
经销商培训邀请函
2014/01/21 职场文书
学校党员干部承诺书
2015/05/04 职场文书
百家讲坛观后感
2015/06/12 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
PHP中多字节字符串操作实例详解
2021/08/23 PHP
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
Python Flask实现进度条
2022/05/11 Python