最近在分析iis日志,想看看来我们网站的人搜索的关键字都是什么,涉及到了将url转换为中文 函数如下->

解决方案 »

  1.   

    我了个去。。 问题还没贴完 就发出来了 上面的无视掉吧 我把问题发在一楼 最近在分析iis日志,想看看来我们网站的人搜索的关键字都是什么,涉及到了将url转换为中文 函数如下->string test = System.Web.HttpUtility.UrlDecode("这里是填写url地址的地方", System.Text.Encoding.GetEncoding("GB2312"));//将Url中的编码转换为简体汉字一般来讲 这个函数能解决百分之八十左右的转换吧,比如下面两个都能成功转换->www.sogou.com/web?query=%C5%AE%D0%D4%CA%A7%C3%DF%B5%C4%D4%AD%D2%F2
    结果
    www.sogou.com/web?query=女性失眠的原因www.sogou.com/web?query=%D4%F5%D1%F9%D4%F6%BC%D3%BC%C7%D2%E4%C1%A6
    结果
    www.sogou.com/web?query=怎样增加记忆力
    但是还有相当一部分转换失败了,变成了火星文->
    失败案例1:
    http://m.baidu.com/s?from=2001a&bd_page_type=1&word=%e6%81%90%e6%83%a7%e7%97%87%e6%b5%8b%e8%af%95%e5%9b%be
    转换结果 
    http://m.baidu.com/s?from=2001a&bd_page_type=1&word=鎭愭儳鐥囨祴璇曞浘
    失败案例2:
    http://m.baidu.com/s?from=2001a&bd_page_type=1&word=%E4%BB%80%E4%B9%88%E6%98%AF%E5%BC%BA%E8%BF%AB%E7%97%87 
    转换结果
    http://m.baidu.com/s?from=2001a&bd_page_type=1&word=浠€涔堟槸寮鸿揩鐥?失败案例3:
    http://wenwen.soso.com/z/Search.e?sp=S%E5%A4%B1%E7%9C%A0%E7%97%87&ch=w.search.yjjlink&cid=w.search.yjjlink
    转换结果
    http://wenwen.soso.com/z/Search.e?sp=S澶辩湢鐥?ch=w.search.yjjlink&cid=w.search.yjjlink事实上 上面这四个转换失败的url本身是没有问题的,可以直接复制地址在网页中打开 就可以看到正确的解析结果 案例1的正确结果是“恐惧症测试图”
    案例2的正确结果是“什么是强迫症” 案例3的正确结果是 "失眠症"
      

  2.   

    你用的都是gb2312编码,你得用他们网站的编码
    前两个能够解析出来是因为sogou用的就是gb2312的编码,而后面的就不是了,去他们网站看下编码吧!
      

  3.   

    经验证,那两个的确是utf-8的