二招解决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 相关文章推荐
一个简单计数器的源代码
Oct 09 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
php获取操作系统语言代码
Nov 04 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
几个实用的PHP内置函数使用指南
Nov 27 PHP
php动态添加url查询参数的方法
Apr 14 PHP
PHP+Ajax+JS实现多图上传
May 07 PHP
php-fpm服务启动脚本的方法
Apr 27 PHP
php实现微信支付之退款功能
May 30 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 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
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
中文字符串截取的js函数代码
2013/04/17 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
jcrop基本参数一览
2013/07/16 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
AngularJS入门教程之表格实例详解
2016/07/27 Javascript
js返回顶部实例分享
2016/12/21 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
vue2 全局变量的设置方法
2018/03/09 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
从零学Python之引用和类属性的初步理解
2014/05/15 Python
Python实现视频下载功能
2017/03/14 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python进行TCP端口扫描的实现
2018/12/21 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
金融专业个人求职信范文
2013/11/28 职场文书
教师个人自我鉴定
2014/02/08 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
春秋淹城导游词
2015/02/11 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL