我们首先都会想到是编码的问题。
但是编码问题分很多种情形的。
造成html网页乱码原因主要是html源代码内中文字内容与html编码不同造成。但无论是哪种情况造成乱码在网页开始时候都需要设置网页编码。
乱码造成原因
1、比如网页源代码是gbk的编码,而内容中的中文字是utf-8编码的,这样浏览器打开即会出现html乱码。反之网页是编码utf-8,内容是gbk也会出现乱码。
2、html网页编码是gbk,而程序从数据库中调出呈现是utf-8编码的内容也会造成编码乱码。
3、浏览器不能自动检测网页编码,造成网页乱码。
解决乱码方法
第一种乱码情况,将网页源代码和内容中文字编码统一即可
第二种,如果网页设置编码是gbk的,而数据库储存数据编码格式是UTF-8的,这个时候程序查询数据库数据显示数据前进乡程序转码即可。
例如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 http-equiv=”Content-Type” content=”text/html;charset=utf-8/>
同样的,如果一开始写数据库连接文件时写成:
- mysql_query(“SET NAMES ‘GBK’ “);
那页面也要相应变成:
<meta http-equiv=”Content-Type” content=”text/html;charset=gb2312/>
以上是html和php程序中乱码的解决方法,asp程序的类似,具体的自行百度。
还有一种乱码情况是浏览器没有自动识别网页编码格式造成的
解决办法:手动指定编码格式,chrome浏览器中工具-编码,选择对应的编码格式即可。
前來支持一下~學習啦!! 😀