服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - ASP教程 - ASP同一站点下gb2312和utf-8页面传递参数乱码的终极解决方法

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

2019-09-01 11:00服务器之家 ASP教程

要解决ASP同一站点下gb2312和utf-8页面传递参数乱码问题,只需严格做到以下4点即可。

①.页面文件使用正确的编码,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> 

延伸 · 阅读

精彩推荐