二招解决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高手?学会“懒惰”的编程
Dec 05 PHP
php垃圾代码优化操作代码
Aug 05 PHP
php后台多用户权限组思路与实现程序代码分享
Feb 13 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
Sep 06 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
php设计模式之单例模式代码
Jun 11 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
php写app用的框架整理
Sep 29 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
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
小程序使用wxs解决wxml保留2位小数问题
2019/12/13 Javascript
JS运算符优先级与表达式示例详解
2020/09/04 Javascript
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
super关键字的用法
2012/04/10 面试题
五年级音乐教学反思
2014/02/06 职场文书
农村党员一句话承诺
2014/05/30 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
辞职信格式范文
2015/05/13 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
2022年四月新番
2022/03/15 日漫
React自定义hook的方法
2022/06/25 Javascript