二招解决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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
搜索引擎技术核心揭密
Oct 09 PHP
php 方便水印和缩略图的图形类
May 21 PHP
php 生成饼图 三维饼图
Sep 28 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
PHP 自定义错误处理函数trigger_error()
Mar 26 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
PHP身份证校验码计算方法
Aug 10 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
php array_values 返回数组的值实例详解
Nov 17 PHP
PHP格式化显示时间date()函数代码
Oct 03 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 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 empty() 检查一个变量是否为空
2011/11/10 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
php去掉文件前几行的方法
2015/07/29 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
jquery动态添加删除(tr/td)
2015/02/09 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
JS中的三个循环小结
2017/06/20 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
vue-router 按需加载 component: () => import() 报错的解决
2020/09/22 Javascript
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
Python正则表达式分组概念与用法详解
2017/06/24 Python
Python连接phoenix的方法示例
2017/09/29 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
局域网定义和特性
2016/01/23 面试题
小学运动会表扬稿
2014/01/19 职场文书
高中军训感想800字
2014/02/23 职场文书
委托书范本
2014/04/02 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
TypeScript 内置高级类型编程示例
2022/09/23 Javascript