比如诺基亚在escape 编码下%u8BFA%u57FA%u4E9A 我在defautl1建立了两个链接   链接1 <a href ="default2.aspx?a=%u8BFA%u57FA%u4E9A" onfocus="this.blur()">链接1 </a> 
链接2  <a href ="default2.aspx?a=诺基亚" onfocus="this.blur()">链接2 </a> 
在default2.aspx页上链接1得到的结果是:诺基亚 
在default2.aspx页上链接2得到的结果是:诺基这结果为什么是这样的叱。知道的朋友说下原理哈。谢谢!! 

解决方案 »

  1.   

    发送之前先编码,接受后解码。就不会用问题了。原因就是因为Internet不是中国人发明的,它认识26个字母和少量字符。
    编码:
    string id = "诺基亚";
            string t = Server.UrlEncode(id);
    解码:
    string receiveedID = Server.UrlDecode(Request.QueryString["id"]);
      

  2.   

    url在传送汉字时候必须编码,不编码会损失数据。默认无编码时候是gbk编码,这种编码会损失数据,尤其在奇数个汉字时候尤其严重。
      

  3.   

    url在传送汉字时候必须编码,不编码会损失数据。默认无编码时候是gbk编码,这种编码会损失数据,尤其在奇数个汉字时候尤其严重。
      

  4.   

    默认无编码时候是gbk编码的话,服务器是用UTF8解码的,这样引成了错误,是吗?
      

  5.   

    用 GB2312 编码方式 就可以  直接用中问传递信息   UTF-8 不支持中文  
    菜鸟 回答不好 大家不要笑我
      

  6.   

    许多服务器默认是utf8解码,但是也不全是,有些指定了其他的编码。一定要保证接收端和发送端的编解码一致。