二招解决php乱码问题


Posted in PHP onMarch 25, 2012

php网页出现乱码一般是在建立数据库时用的编码和php网页的编码不同造成的,

用phpmyadmin建立的数据库如果你不指定编码他默认是latin1_swedish_ci 编码,既瑞典语不区分大小写,而我们中国做的网页不是GBK就是GB2312编码,这样不出现乱码才怪.

1,建立数据库时指定编码.

在此再唠叨一下常用的编码,免的新手又迷茫:

如果你做的是简体中文网页,那么你在建立数据库时用GB2312编码,gb2312_chinese_ci.

如果你做的是繁体中文网页,那么你建立数据库时要用gib5编码, big5_chinese_ci

如果你做的网页有简体也有繁体中文,那么推荐你用GBK编码,gbk_chinese_ci . GBK包含的字码比GB2312要多,当然繁体也在其中.

如果你做的是多国语言网页,那么推荐你用UTF-8编码 . mysql中有二种utf8编码可供选择 : utf8_unicode_ci与utf8_general_ci 笔者一般用utf8_general_ci ,关于这二种编码的区别,请参考本站的另一篇文章: Mysql中校对集utf8_unicode_ci与utf8_general_ci的区别

我们用UTF-8编码为例建立数据库如图:

二招解决php乱码问题 

2,用php连接数据库时用mysq_query 设定一下编码
语法: mysql_query("SET NAMES 'utf8'");
例如:
$conn=mysql_connect('127.0.0.1','root','123456'); 
mysql_query("set names 'utf8'",$conn); //解决乱码 
mysql_select_db('test1',$conn);

一般情况下只要你做好了这二步,你的程序是不会出现乱码的
二般情况:
二般情况一般出现的不多,多出现在做的程序语言比较多,比如有时做utf8的,有时做gb2312的,有时又要做big5的网页,用IDE建立的.php文件编码和程序要显示的编码不同而引起的.
比如,我上次做了个gb2312的简体中文网页,现在老板又有吩咐要做个gbi5网页,但我的ide用的却是gb2312的编码
就拿我常用的IDE Dreamweaver来说吧

二招解决php乱码问题 

ide新建的网页是gb2312,而我却把建好的网页改成big5的了,这样怎么会不出现乱码呢,解决的方法很简单,重新另存为一下,指定一下编码就OK了,

如果还搞不定,那么在网页头部加一行http头信息

header("Content-Type:text/html;charset=utf-8");

注意:在发送header头信息时header前面不可以有任何输出,包括空格在内.

好了写了这么多,快看看你的程序属于哪个情况引起的乱码吧.

PHP 相关文章推荐
一道关于php变量引用的面试题
Aug 08 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
Jun 17 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
Java中final关键字详解
Aug 10 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
Nov 25 PHP
php实现留言板功能
Mar 05 PHP
通过php动态传数据到highcharts
Apr 05 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 PHP
laravel清除视图缓存的代码
Oct 23 PHP
php引用地址改变变量值的问题
Mar 23 #PHP
奇怪的PHP引用效率问题分析
Mar 23 #PHP
php地址引用(php地址引用的效率问题)
Mar 23 #PHP
PHP遍历数组的几种方法
Mar 22 #PHP
php遍历数组的方法分享
Mar 22 #PHP
php中大括号作用介绍
Mar 22 #PHP
那些年一起学习的PHP(三)
Mar 22 #PHP
You might like
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
JavaScript 封装一个tab效果源码分享
2015/09/15 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
Python中常见的数据类型小结
2015/08/29 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
python如何获取apk的packagename和activity
2020/01/10 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
django model通过字典更新数据实例
2020/04/01 Python
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
QQ空间主人寄语大全
2014/04/12 职场文书
出租房屋协议书
2014/09/14 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
设备技术员岗位职责
2015/04/11 职场文书
医院感染管理制度
2015/08/05 职场文书
开学随笔
2015/08/15 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
MySQL优化之慢日志查询
2022/06/10 MySQL