ASP页面显示乱码解决方法

乱码其实并不是什么问题,asp/php/jsp都有。我想所有转换编码的地方都会碰到。一般来说从头到尾始终使用同一种编码方式就不会有乱码。数据库使用的GBK编码,页面就也指定使用GBK编码。同样,数据库使用unicode编码,页面就请使用utf-8编码。如果出现乱码,肯定有地方使用了错误的编码格式。
用asp举例,如果你发现浏览页面的时候出现乱码。你可以尝试一下步骤:
  1. 确保你页面本身编码格式正确:例如test.asp中使用charset=utf-8,那么请先确保这个文件本身就是Utf-8编码的。你可以利用记事本进行转换。同样如果使用charset=GBK,请先确保这个文件本身就是GBK编码的。
  2. 确认你得到的原数据(例如从数据库中得到的数据)编码方式与页面编码方式一至。
  3. 尝试指定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"%>
  4. 设置asp内置对象 符号映射 和 响应content-type header的编码
    如果你采用utf-8编码, 就在文章最上面加上:
    <% Session.CodePage=65001
    Response.Charset="UTF-8" %>
    如果你采用GBK编码, 就在文章最上面加上:
    <% Session.CodePage=936
    Response.Charset="GBK" %>
  5. 注意你可以把3,4中指出的设置放到一个被公共包含的文件(例如conn.asp)的最上面。那么所有的页面都应用此属性。
posted @ 2009-10-04 11:00  #天下无双#  阅读(1788)  评论(0编辑  收藏  举报