二招解决php乱码问题

2015-01-24信息快讯网

PHP的乱码问题已经说了N+1遍了,但还是经常看到新手不知道该如何解决php乱码问题,在此本人再重新给总结一下,希望对新手有点帮助

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.ini以达到屏蔽错误信息并记录日志
php fsockopen伪造post与get方法的详解
PHP可变函数的使用详解
VIM中设置php自动缩进为4个空格的方法详解
修改php.ini不生效问题解决方法(上传大于8M的文件)
解决File size limit exceeded 错误的方法
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
基于PHP导出Excel的小经验 完美解决乱码问题
joomla jce editor 解决上传中文名文件失败问题
解决ajax+php中文乱码的方法详解
探讨PHP JSON中文乱码的解决方法详解
基于python发送邮件的乱码问题的解决办法
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
PHP乱码问题,UTF-8乱码常见问题小结
php正则表达匹配中文问题分析小结
php引用地址改变变量值的问题
奇怪的PHP引用效率问题分析
php地址引用(php地址引用的效率问题)
PHP遍历数组的几种方法
php遍历数组的方法分享
Notice: Trying to get property of non-object problem(PHP)解决办法
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
php在服务器执行exec命令失败的解决方法
php摘要生成函数(无乱码)
php 无法加载mysql的module的时候的配置的解决方案引发的思考
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
解决文件名解压后乱码的问题 将文件名进行转码的代码
php读取mysql乱码,用set names XXX解决的原理分享
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
php smarty截取中文字符乱码问题?gb2312/utf-8
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
Windows下利用Gvim写PHP产生中文乱码问题解决方法
©2014-2024 dbsqp.com