中介网
RSS订阅 | 匿名投稿
您的位置:首页 > 资讯首页 > 互联网资讯 > 正文

网页显示乱码怎么办 UTF8和GBK之间的转换

作者:工具网 来源: 日期:2020/4/21 19:57:04 人气: 标签:网页显示乱码怎么办 UTF8和GBK之间的转换

对于很多新手来说,编码问题简直让人头疼,网页出现乱码不知道如何解决。上网寻找答案,却是让人一知半解,不得要领。

其实简单来说,困扰我们的就两种编码,那就是UTF-8和ANSI。UTF-8是国际通用的编码,ANSI中其中一种GBK是我们中文的编码,也是最常用的一种编码。

很多新手写完HTML文件后,打开会发现其中的中文成了一堆乱码。上网找了下原因,原来是编码问题,然后在文件开头加上一句虽然不知道什么意思,但看上去好像能解决问题的:charset=utf-8 。

加上以后发现,咦,可以正常显示中文了。但这个还只是编码问题的冰山一角,你再往后面学习,会发现php文件怎么又有乱码了,数据库读出的数据怎么又有乱码了。这时一句:charset=utf-8已经解救不了你了。

其实要弄懂这个问题,那就要慢慢说起。

首先我们最常用的windows,因为是中文版,默认的是GBK,也就是ANSI编码。而浏览器会跟随系统,所以也是默认GBK。而这时如果你用一个txt文本写了一个HTML文件,那么打开后中文很有可能会显示乱码,因为你的文本保存时默认了UTF-8。而浏览器用GBK去解读你的UTF-8,乱码就出现了。

解决办法就是要么在HTML文件开头加上一句 ,告诉浏览器,用UFT-8来读取这个网页。或者可以文本选择另存为,然后下面有个编码选择的选项,你选择ANSI保存。

后来你学了PHP,写了一个PHP文件,你学乖了,把文件保存为ANSI编码,然后满怀期待地用浏览器打开了这个页面。惊喜地发现,又乱码了。。。

小朋友,你是不是有很多问号???为什么?浏览器用默认的ANSI去打开我的ANSI文件,没错啊,怎么就乱码了?其实你忘了,PHP文件是经过PHP解析过的,而你安装PHP的时候,如果没有改过,那么默认是UTF-8格式的。你用ANSI去给它解析,那么自然就是一堆乱码了。

解决办法就是,要么把文件保存为UTF-8,要么也在文件开头加一句:<?php header('Content-Type: text/html; charset=gb2312'); ? >

后面,你自然会涉及到数据库,那么还会涉及到乱码的问题,因为数据也有默认编码的,而且数据库更麻烦,有可能存进去的数据用的是UTF-8,而数据库查询结果返回的却又是ANSI,它支持的查询语言又是UTF-8。

这个涉及的东西比较多,你可以在数据库查询时,用这个命令:SHOW VARIABLES LIKE 'char%'。返回的结果会告诉你数据库的编码情况。因为内容比较多,方向已经告诉你了,感兴趣的朋友可以自行查阅详情。

而既然编码不统一,那么就会有需要转码的情况,下面介绍一个PHP的转码函数:

$STR = iconv( "GBk" , "UTF-8" , $STR );

以上就是今天要介绍的编码问题,希望可以帮到有困扰的朋友,因为在这数小时之前,本人就因为编码问题,不得要领,分分钟想砸了电脑。

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
下一篇:没有资料