原来URL中含有中文时,都是用Server.UrlEncode()来进行编码,最近发现Server.UrlEncode()对有些汉字编码后出现乱码。如鲁,Server.UrlEncode编码后代码为:%C2%B3,而在地址栏好像被识别为3.如我的网站中: http://localhost/quming/x%C2%B3.aspx 就不能识别。----------------------------------------------------------
http://www.vvcha.cn/baijiaxing.aspx 这是我做的一个百家姓,大部分汉字经过Server.UrlEncode编码后都正常,就部分汉字如鲁,韦就不正常,不知道什么原因,在firefox可以看得很清楚。大家一般中文url都是怎样编码的?

解决方案 »

  1.   

    是没有问题的。问题在于你URL重写正则没写正确吧
      

  2.   


    <rewrite url="~/quming/x(.+).aspx" to="~/quming/xingshi.aspx?xing=$1" processing="stop"/>重写正则是这样的,我用的Intelligencia.UrlRewriter,应该没啥问题吧
      

  3.   

    不会有你说的Server.UrlEncode编码后都正常的问题,还以你使用GB2312的编码转的时候使用UTF8模式。这样肯定乱码。
      

  4.   

    鲁 编码后为:%C2%B3 ,这是转换的gb2312,如果转换为utf8则是%E9%B2%81 
      

  5.   

    try this 
    http://www.cnblogs.com/downmoon/articles/1021140.html
      

  6.   

    发现问题了,如果如果是两个以上的汉字,如鲁姓,则都正常。郁闷,这应该是.net的bug吧