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方法调用模式与函数调用模式简例
Sep 20 PHP
供参考的 php 学习提高路线分享
Oct 23 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
Jun 05 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
php实现比较两个字符串日期大小的方法
May 12 PHP
总结一些PHP中好用但又容易忽略的小知识
Jun 02 PHP
详解PHP使用Redis存储session时的一个Warning定位
Jul 05 PHP
php数据序列化测试实例详解
Aug 12 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 PHP
php生成HTML文件的类方法
Oct 11 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 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
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
jQuery each()方法的使用方法
2010/03/18 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
使用JS组件实现带ToolTip验证框的实例代码
2017/08/23 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
python类继承与子类实例初始化用法分析
2015/04/17 Python
Python算法应用实战之队列详解
2017/02/04 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
浅谈flask源码之请求过程
2018/07/26 Python
Django实现跨域的2种方法
2019/07/31 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
公司财务流程之主管工作流程
2014/03/03 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
悬空寺导游词
2015/02/05 职场文书
单位推荐信范文
2015/03/27 职场文书
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技