有一个url
----------------------
http://localhost:4227/baigod/tenpaynotice.aspx?attach=%C0%B4%D7%D4%B0%D9%B9%BA%B5%C3%C8%FD%D0%C7931BW%B3%AC%D6%B5%CF%ED%CA%DC%B5%C4%BD%BB%D2%D7&buyer_id=29290052&cft_tid=1000000000200806190111241046&chnid=1006786190&cmdno=12&mch_vno=080619214735&retcode=0&seller=232546066&status=3&total_fee=1&trade_price=1&transport_fee=0&version=2&sign=E4C92A894643A7BF6E5845D0F10A018F可以看到此url的attach参数是某种编码但是我调试的时候却看到
request.querystring["attach"]的值是
%ufffd%ufffd%ufffd%u0530%u0679%ufffd%ufffd%ufffd%ufffd%ufffd%ufffd%ufffd931BW%ufffd%ufffd%u05b5%ufffd%ufffd%ufffd%u0735%u013d%ufffd%ufffd%ufffd不知道怎么回事,怎么解决,达人们帮帮忙..

解决方案 »

  1.   

    第一段编码用HttpUtility.UrlDecode即可解出字符串string str = "%C0%B4%D7%D4%B0%D9%B9%BA%B5%C3%C8%FD%D0%C7931BW%B3%AC%D6%B5%CF%ED%CA%DC%B5%C4%BD%BB%D2%D7";
    string str2 = HttpUtility.UrlDecode(str);
    Response.Write(str2);而第二段就是每个字符的Unicode码了他们是同一字符串的两种不同编码
      

  2.   

    是的,但是我的网站页面为什么会这样
    url上表现的是 "%C0%B4%D7%D4%B0%D9%B9
    但是调试的时候就
    unicode了
      

  3.   

    是这样的,
    因为需要用attach去计算一个md5签名
    财付通服务器的签名是通过计算attach中文的时候计算的
    而我的这边也必须把attach转化成中文来计算签名啊
      

  4.   

    只有呈现形式不同而已,就像中国说男人就是男人,而英语是man