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基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
php动态生成JavaScript代码
Mar 09 PHP
PHP生成UTF8文件的方法
May 15 PHP
Linux下安装PHP MSSQL扩展教程
Oct 24 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
Jun 20 PHP
WordPress中缩略图的使用以及相关技巧
Nov 24 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
Feb 23 PHP
详解Yii实现分页的两种方法
Jan 14 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
php用wangeditor3实现图片上传功能
Aug 22 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
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
PHP数组操作类实例
2015/07/11 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
js自定义事件代码说明
2011/01/31 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
Vue中props的使用详解
2018/06/15 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
如何在python中写hive脚本
2019/11/08 Python
Django框架请求生命周期实现原理
2020/11/13 Python
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
九州传奇上机题
2014/07/10 面试题
绩效管理实施方案
2014/03/19 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS