乱码其实并不是什么问题,asp/php/jsp都有。我想所有转换编码的地方都会碰到。一般来说从头到尾始终使用同一种编码方式就
不会有乱码。数据库使用的GBK编码,页面就也指定使用GBK编码。同样,数据库使用unicode编码,页面就请使用utf-8编码。如果出
现乱码,肯定有地方使用了错误的编码格式。
用asp举例,如果你发现浏览页面的时候出现乱码。你可以尝试一下步骤:
确保你页面本身编码格式正确:例如test.asp中使用charset=utf-8,那么请先确保这个文件本身就是Utf-8编码的。你可以利用记事
本进行转换。同样如果使用charset=GBK,请先确保这个文件本身就是GBK编码的。
确认你得到的原数据(例如从数据库中得到的数据)编码方式与页面编码方式一至。
尝试指定IIS按什么编码读取。
<%@ codepage=65001%>UTF-8
<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=437 %>美国/加拿大英语
<%@ codepage=932 %>日文
<%@ codepage=949 %>韩文
<%@ codepage=866 %>俄文
codepage指定了IIS按什么编码读取。
例如采用UTF-8编码,就在文件的最上面加上 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
例如采用GBK编码,就在文件的最上面加上 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
设置asp内置对象 符号映射 和 响应content-type header的编码
如果你采用utf-8编码, 就在文章最上面加上:
<% Session.CodePage=65001
Response.Charset="UTF-8" %>
如果你采用GBK编码, 就在文章最上面加上:
<% Session.CodePage=936
Response.Charset="GBK" %>
注意你可以把3,4中指出的设置放到一个被公共包含的文件(例如conn.asp)的最上面。那么所有的页面都应用此属性。