ASP同一站点下gb2312和utf-8页面传递参数乱码的终极解决方法

所属分类: 网络编程 / ASP编程 阅读数: 1786
收藏 0 赞 0 分享
①.页面文件使用正确的编码,gb2312使用ANSI,utf-8使用utf-8;
②.ASP代码中设置正确的CODEPAGE,gb2312使用936,utf-8使用65001;
③.HTML代码中设置正确的charset,gb2312使用gb2312,utf-8使用utf-8;
④.将传递的参数值使用js的escape函数进行编码;

示例代码

t1.asp(ANSI编码):
复制代码 代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Page(gb2312)-jb51.net</title>
</head>

<body>
<script type="text/javascript">
document.write("<a href='t2.asp?keyword=" + escape("木子屋") + "'>木子屋</a>");
</script>
<br/>
<%
Response.Write(Request.QueryString("keyword"))
%>
</body>
</html>

t2.asp(utf-8编码):
复制代码 代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage=65001%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Page(utf-8)-jb51.net</title>
</head>

<body>
<script type="text/javascript">
document.write("<a href='t1.asp?keyword=" + escape("木子屋") + "'>木子屋</a>");
</script>
<br/>
<%
Response.Write(Request.QueryString("keyword"))
%>
</body>
</html>
更多精彩内容其他人还在看

TsysV1.1 系统文件清单介绍

TsysV1.1 系统文件清单介绍
收藏 0 赞 0 分享

好久没发布新玩意,完成了tsys的少年不在版

好久没发布新玩意,完成了tsys的少年不在版
收藏 0 赞 0 分享

tsys _rss程序

tsys _rss程序
收藏 0 赞 0 分享

TSYS 新闻列表JS调用下载

TSYS 新闻列表JS调用下载
收藏 0 赞 0 分享

使用asp代码突破图片的防盗连

使用asp代码突破图片的防盗连
收藏 0 赞 0 分享

一种理论上最快的Web数据库分页方法

一种理论上最快的Web数据库分页方法
收藏 0 赞 0 分享

asp:debug类调试程序

asp:debug类调试程序
收藏 0 赞 0 分享

如何增加Referer功能--反向链接插件

如何增加Referer功能--反向链接插件
收藏 0 赞 0 分享

pjblog中清空引用的小程序

pjblog中清空引用的小程序
收藏 0 赞 0 分享

光碟工具 Alcohol 120% v1.9.6.4719 下载(附序列号注册码)

光碟工具 Alcohol 120% v1.9.6.4719 下载(附序列号注册码)
收藏 0 赞 0 分享
查看更多