utf-8页和gb2312页参数传递问题
在utf-8页中 
  <a   href= "http://www.7town.com/1.asp?mn= "张韶涵 "> 张韶涵 </a>    
 gb2312页中 
 Response.Write   Request.QueryString( "mn ") 
 输出就是乱码了,前提下是gb2312页是别的网站的页我没权利改,utf-8页是自己只能在这个页里下功夫编码不能变
------解决方案--------------------昨天晚上我正好也碰到了这个问题,花了很长时间才找到答案。 
 如果你看到的乱码是形如 Χ 这样的编码,那么我的方法就适用你的问题。   
 Str = Str.Replace( "&#x ", "%u ").Replace( "; ", " "); 
 Str = Server.UrlDecode(Str);   
 是用C#写的,转成Vbscript也可以。   
 原理:先将UTF-8码转成UrlCode,再转到GB2312   
 我也尝试过UTF-8直接转GB2312的,但总是不成功。   
 期待高手能贴出直接转的代码。
------解决方案--------------------问题有些奇怪,调试了一下,有些想法,到底对不对,还请高手指点。   
 客户端是utf编码,服务器为gb,那么request.querystring获得的是用固定双字节读出得1-3字节utf编码,这可以用adostream转码,代码如下:   
 set objAs=server.createobject( "adodb.stream ") 
 objAs.type=2 
 objAs.mode=3 
 objAs.open 
 objAs.Charset= "gb2312 "    '以双字节写回,所以用gb 
 objAs.WriteText Request.QueryString( "mn ") 
 objAs.Position=0 
 objAs.Charset= "utf-8 "    '以客户端对应的编码方式读取 
 Response.Write objAs.ReadText    '显示   
 问题: 
 1、我提交的是 "张韶涵 ",显示的确只有 "张韶 ",为什么? 
 汉字的utf-8的 "张韶涵 "是9个字节,而服务器端是gb2312只能接受偶数字节,所以server.querystring只返回了8个字节,adostream转换时 "涵 "字因为尾字节丢失而略。   
 2、为什么有些字串又显示正常,如 "张韶涵a " 
 当字符串utf8长度为偶数,这时reuquest没有自做主张截取,显示正确。 "张韶涵a "=3x3字节汉字+1x1字节ascii=10字节utf。   
 3、解决办法? 
 get方法由querystring处理,没法解决,只能根据utf长度凭狗屎运气。 
 如果是post方法过来的,可以用binaryread全部读取转换,这时编码不会有错,但是必须自己处理application/x-www-form-urlencoded的原始数据。   
 总之:不要在服务器和客户端用2种编码。