您好,登录后才能下订单哦!
小编给大家分享一下php都是乱码的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
php乱码的解决办法:1、设置数据库和保存文件的编码为“utf8”;2、保存文件时修改编码;3、使用“mb_convert_encoding”函数进行转码;4、设置数据库的存储编码为“utf8”。
PHP出现乱码,解决乱码的方法
一,出现乱码的原因分析
1,保存文件时候,文件有自己的文件编码,就是汉字,或者其他国语言,以什么编码来存储
2,输出的时候,要给内容指定编码,如以网页的形势输入时<meta http-equiv=”Content-Type” content=”text/html; charset=utf8″ />
3,从数据库取出数据时,搞不清楚数据库,设置的字符集
4,以汉字为例,汉字本来也有编码的,一个汉字gbk要二个字符,而utf8要三个字符
上面说了有可能引起乱码的潜在原因,我现在把它们排列组合一下。
第一种情况,保存文件和显示编码的不一致
假如保存文件时候,你用的utf8编码,网页输出时,你设置的是gbk编码,这样就会出现乱码,
第二种情况,保存文件和数据库的存储的字符不一致
假如,保存文件的编码和网页显示的编码一样时,还是出现乱码了,例如,你保存文件时,用的utf8编码,而你数据库用的是gb2312字符集来存储数据。
第三种情况,已经乱码了,你还认为没有
当你发现出现乱码时,去改变保存文件的编码的时候,utf8情况是好的,当你把它换成gbk的话就乱码了,但是你还以为是好的。这也是出现乱码的原因。这种情况会经常出现。
第四种情况,数据库里面本来就是乱码
数据的字符集,保存文件的编码,网页显示编码都一样了,还是出现乱码了,这种情况大多数,是数据入数据库的时候,就乱码了,这种情况是比较麻烦的。
二,我解决乱码的方法,百试不爽
我把这种方法起个名子叫庖丁解牛法。哈哈。数据库,保存文件编码,显示时候的编码必须一致,并且以数据库为准
第一种,数据库和保存文件的编码是utf8,网页显示呢是gb2312,这个时候,我们就要改显示编码了<meta http-equiv=”Content-Type” content=”text/html; charset=utf8″ />
第二种,数据库和网页显示都是utf8,保存文件用的是gb2312,这个时候呢,要注意一种,直接把保存文件的编码改过,是不行的,在改编码之前,把文件的内容先COPY一下,编码改过以后,在把刚才COPY的内容粘回去,这样就OK了.
第三种,数据库用的utf8,保存文件和显示编码是gb2312,这个时候呢,你可以用程序自带的函数把从数据库取出的数据进行一下转码把,utf8转成gb2312这样就不用去改变文件自己的编码了,以及显示编码了。以php为例,mb_convert_encoding($string,”gb2312″,”utf8″);
第四种,数据库乱码,是数据录入时候,数据本身和数据库存储编码不一样造成的。例如:数据库的存储编码是utf8,在数据入库的时候,加上一个mysql_query(“set names utf8;”);
三,乱码表现的形势
乱码的表现呢,我是遇到过二个,
1)就是出现在的字体乱码了,变成怪七怪八的字符了
2)就是直接是空白页面,查看源码呢,什么都没有,像这种情况,有的时候,很想起是因为是乱码造成的。右击页面在,查看属性,改一下编码就知道是不是因为乱码引起的空白页面了。
以上是php都是乱码的解决方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。