超SEO的搜索引擎观察博客:    SEO技术    SEO新闻    关键词优化    Google算法    Google新闻    百度新闻

超SEO博客

关注搜索引擎发展、透析搜索引擎原理、优化搜索引擎排名、分享、交流SEO技术
  博客园  :: 联系 :: 管理

使用C#对Google和Baidu中文关键词编码解码

Posted on 2009-08-19 17:44  Google优化  阅读(2015)  评论(2编辑  收藏  举报
Google和百度的关键词编码是不同的,貌似google是utf-8,baidu是GB2312,有很多种方法可以解决编码,以下列出三种方法:
Uri.unescapeDataString(); 是可以对google的大部分中文关键词 编码进行解码,但是不能解码的编码就会造成乱码,不能解百度关键词。
Microsoft.JScript.GlobalObject.decodeURI();可以解码大部分中文关键词编码,但是仍有少部分不能解码不能解百度关键词,需要Microsoft.JScript引用。
HttpUtility.UrlDecode(str,Encoding.Default);可以解百度的关键词编码,可以解码上述两个方法不能解码google关键词,需要System.Web引用。
要同时解决google和百度关键词解码问题可以使用下列方法:
//str为编码后的google或者百度关键词
 try
        {
             .. Microsoft.JScript.GlobalObject.decodeURI(str.Trim()) ...
          }
 catch {
             ...        HttpUtility.UrlDecode(str,Encoding.Default) ...
 }

Microsoft.JScript.GlobalObject.decodeURI()无法解码时候会报错,捕获以后就可以使用HttpUtility.UrlDecode解码。