ASP同一站点下gb2312和utf-8页面传递参数乱码的终极解决方法
程序员文章站
2022-10-27 16:21:24
①.页面文件使用正确的编码,gb2312使用ansi,utf-8使用utf-8; ②.asp代码中设置正确的codepage,gb2312使用936,utf-8使用6500...
①.页面文件使用正确的编码,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>
②.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>