①.页面文件使用正确的编码,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>
推荐阅读
access改mdb为asp所带来的灾难 附mdb防下载方法
先不说直接改后缀,直接可以用网快等工具直接下载,其实这样你已经是为入侵者打开了大门。入侵者可以利用asp/asa为后缀的数据库直接得到webshell。 一.思路 大家都知道<%%>为asp文件的标志符,也就是说一个>>>详细阅读
本文标题:ASP同一站点下gb2312和utf-8页面传递参数乱码的终极解决方法
地址:http://www.17bianji.com/kaifa2/ASP/31924.html
1/2 1