无双科技

网站HTML乱码原因与网页乱码解决方法

时间:2018-12-26 15:48:52 出处:无双科技

网站乱码是网站开发者都会遇到的问题,导致浏览器出现乱码的原因有可能是因为网站程序端也就是服务器端的编码输出错误导致,宜有可能是浏览器端自身出现了问题导致,而造成我们的网站页面的语言乱码,网页无法识别就会出现各种乱码,有的甚至出现大家无法看懂的特殊符号,其实都是因为网页语言编写出现了问题才会导致这种情况。



那我们先分析一下乱码的几种原因

第一种情况是html网页编码是gbk,而程序从数据库中调出呈现是utf-8编码的内容也会造成编码乱码。


解决方法:

使用软件进行编辑HTML网页内容,推荐使用DW软件进行HTML代码编辑和开发。

尽量不要直接使用记事本进行编辑HTML代码。


第二种文本编码格式错误,网站meta声明的是utf-8编码,但是文本编码是GBK ,这个时候我们就需要meta和文本编码一致,比如网页源代码是gbk的编码,而内容中的中文字是utf-8编码的,这样浏览器打开即会出现html乱码。反之网页是编码utf-8,内容是gbk也会出现乱码。原文本格式是ANSI,这个时候就需要把两者统一起来。可以设置文本编码的有notepad,subline,editplus等等修改编码格式。


解决办法:

修改文本编码格式

ps:gbk是中国的中文编码,utf-8是国际通用的编码。至于网站中选择哪一种,看你爱好偏向了。

第三种是可能从数据库引起的乱码。首先我们使用show variables like 'character_set_database';查看数据库里面字符集的编码

查看mysql字符编码

这里我们看到mysql里面的编码是utf8的,如果程序文本是gbk的话,这里就需要统一一下编码,代码是

解决办法:

例如PHP程序+mysql查询显示数据转码:

1、mysql_query("SET NAMES 'UTF8'"); //将查询数据转码为utf8,也就是转换为utf-8

2、mysql_query("SET NAMES 'GBK'");//将查询数据转码为GBK,如gbk2312

在写数据库连接文件时,写成:

$conn = mysql_connect("$host","$user","$password"); 

mysql_query("SET NAMES 'UTF8'"); 

mysql_select_db("$database",$conn); 

然后在做页面时,注意这句:

<meta charset=utf-8" /> 

第四种,浏览器造成乱码。

解决办法:

在IE9浏览器中需要转码的网页空白出右键鼠标,即可选择“编码”。

傲游浏览器中浏览需要转码的网页时,菜单“查看”-->“编码”即可选择转换编码

谷歌浏览器中浏览需要转码的网页时,点击右上角“三横”图标选择“工具”-->“编码”即可选择切换网页编码达到让浏览器浏览此网页不是乱码。

猜你喜欢