搜索引擎链接调用的编码问题
在UTF-8编码的网页中调用搜索引擎的快捷链接 通过参数化或编码转换解决UTF-8与搜索引擎不兼容问题。
大部分中文搜索引擎接收的编码是GB2312的,包括Google默认的编码。但是使用UTF-8制作网页是一种趋势,方便不同地区的人们浏览。在网页中设置类似于“在Google中搜索关于XXX的资料”这样的链接,可以为访客提供方便,但是涉及到UTF-8编码时,事情就变得有些麻烦了。
1、直接能使用UTF-8编码的搜索引擎。
只有Google和雅虎。
2、使用参数就能解决的搜索引擎。
包括百度、腾讯SOSO,只需要在链接后添加参数ie=UTF-8,效果就跟使用GB2312一样。
3、不能使用UTF-8编码的搜索引擎
搜狗的web搜索目前还不支持,mp3和新闻搜索倒是可以使用encoding=UTF-8这样的参数来解决!不支持只能通过其它方法来转换啦,C#中可以通过下面这个方法来转换:
System.Web.HttpUtility.UrlEncode(String,Encoding),只要指定Encoding为GB2312就可以了。例如:HttpUtility.UrlEncode("龙卷风",System.Text.Encoding.GetEncoding("GB2312"))
示例:http://www.sogou.com/web?query=%b3%b1%d6%dd%ca%d0%b0%ae%d0%c4%b8%a3%c0%fb%bb%e1
用JS转换只适合在IE中使用,通用性受到限制,不在考虑范围之内。如有兴趣,可参考本站文章:js版的UrlEncode
我来说两句
1 楼 阿梦 发表于 2009-2-17 From IP: 220.171.28.197
看不懂!
作者主页: http://