日期:2014-05-17  浏览次数:20845 次

ASP中调用utf-8和GB2312,显示乱码,刷新无效,但在地址栏里回车就可以显示
GB_A.asp:
一老程序,采用GB2312编码,接收request( "Pra1 ")变量,然后读取数据库。

UTF8_X.asp:
另一程序模块,采用utf-8编码。
里面调用了如下代码:
<script   language= "javascript "   src= "GB_Topic.asp "   charset= "GB2312 "> </script>


GB_Topic.asp代码如下:
-----------------------
<%@LANGUAGE= "VBSCRIPT "   CODEPAGE= "936 "%>
<%
on   error   resume   next
response.write   "document.write( ' " <a   href= " "www.abc.com/GB_A.asp?Pra1=汉字变量 " "> 打开列表 </a> " '); "
%>
-----------------------

出现的问题:
这时IE地址栏中显示变量正确无误:http://www.abc.com/GB_A.asp?Pra1=汉字变量
但页面有乱码,必须在地址栏中按回车键就可以正常显示。

------解决方案--------------------
GB_Topic.asp代码修改一下,用Server.URLEncode加密一下汉字变量

<%@LANGUAGE= "VBSCRIPT " CODEPAGE= "936 "%>
<%
on error resume next
response.write "document.write( ' <a href= " "www.abc.com/GB_A.asp?Pra1= " & Server.URLEncode( "汉字变量 ") & " " "> 打开列表 </a> '); "
%>