由于各个字符编码的储存空间不一样,所以当使用不同的字符读取数据时,当字符空间过小,就不能正常显示了。
比如说中文字符的字符集一般是gb2312,如果用utf-8强制读取改变gb2312的字符,就有可能出现乱码。因为utf-8的字符集储存空间大于gb2312,当使用utf-8读取时,有些字符gb2312的编码中是不存在的,不存在的字符自然会出现乱码了。对于静态文件来说,如果文件的储存编码和网页中编码设置(charset)不一致的话,由于以上原因就会出现乱码问题。
下面是解决方案:
UTF-8编码的话:在ASP脚本顶部加入<%@Language="vbscript" Codepage="65001"%>
在HTML页面<head>区域中加入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
gb2312编码的话:在ASP脚本顶部加入<%@Language="vbscript" Codepage="936"%>
在HTML页面<head>区域中加入<meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
建议使用UTF8的编码。