二招解决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邮件专题
Oct 09 PHP
用PHP 4.2书写安全的脚本
Oct 09 PHP
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
PHP连接MongoDB示例代码
Sep 06 PHP
php连接odbc数据源并保存与查询数据的方法
Dec 24 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
Zend Framework入门知识点小结
Mar 19 PHP
PHP7新增运算符用法实例分析
Sep 26 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
jquery tools 系列 scrollable学习
2009/09/06 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
详解如何用babel转换es6的class语法
2018/04/03 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
python如何获取服务器硬件信息
2017/05/11 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
国际贸易毕业生求职信
2014/07/20 职场文书
服务员态度差检讨书
2014/10/28 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers