二招解决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
PHP+MYSQL的文章管理系统(二)
Oct 09 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
PHP 数组教程 定义数组
Oct 23 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
Jun 29 PHP
php调用MySQL存储过程的方法集合(推荐)
Jul 03 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
CodeIgniter CLI模式简介
Jun 17 PHP
PHP针对字符串开头和结尾的判断方法
Jul 11 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
Aug 06 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 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
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
js 小贴士一星期合集
2010/04/07 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
Node.js模块加载详解
2014/08/16 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
python中去空格函数的用法
2014/08/21 Python
Python中Continue语句的用法的举例详解
2015/05/14 Python
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
点球小游戏python脚本
2018/05/22 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
珍惜时间演讲稿
2014/05/14 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL