在网页中放入百度、搜狗、搜搜 搜索代码搜索出现乱码解决办法
2010-09-02 11:12
1001 查看
由于百度、搜狗、搜搜本身默认不支持UTF-8搜索,所以在UTF-8编码的网页中嵌入百度、搜狗、搜搜搜索代码进行搜索时,提交的关键字会变成乱码,解决方法一般有两个:
1、把网页编码由UTF-8改成gbk或者gb2312的,即修改为:<meta http-equiv="Content-Type" content="text/html; charset=gb2312 " />,这样就可以解决乱码的问题。这是为刚开始进行开发,或者修改网页编码很容易的情况下可以采用这种方法。
2、当网站已经开发完成而且几乎所有的网页都是UTF-8编码的,修改代码非常麻烦,那就需要采用第二种方法了,在form表单中添加一个参数:<input type=hidden name=ie value="UTF-8">,再提交的时候就一切正常了。
3、在Url上面处理编码。统一编码为:utf-8。
在Url后加上:&ie=utf-8
例如:
百度:http://www.baidu.com/s?wd=##QUERY##&ie=utf-8
搜狗:http://www.sogou.com/web?query=##QUERY##&ie=utf-8
搜搜:http://www.soso.com/q?pid=s.idx&ch=s.idx&w=##QUERY##&ie=utf-8
附:
大部分中文搜索引擎接收的编码是GB2312的,包括Google默认的编码。但是使用UTF-8制作网页是一种趋势,方便不同地区的人们浏览。在网页中设置类似于“在Google中搜索关于XXX的资料”这样的链接,可以为访客提供方便,但是涉及到UTF-8编码时,事情就变得有些麻烦了。
1、直接能使用UTF-8编码的搜索引擎。
只有Google和雅虎。
示例:Google:http://www.google.cn/search?hl=zh-CN&q=%e6%bd%ae%e5%b7%9e%e5%b8%82%e7%88%b1%e5%bf%83%e7%a6%8f%e5%88%a9%e4%bc%9a
Yahoo:http://one.cn.yahoo.com/s?pid=hp&v=web&p=%e6%bd%ae%e5%b7%9e%e5%b8%82%e7%88%b1%e5%bf%83%e7%a6%8f%e5%88%a9%e4%bc%9a
2、使用参数就能解决的搜索引擎。
包括百度、腾讯SOSO,只需要在链接后添加参数ie=UTF-8,效果就跟使用GB2312一样。
示例:百度:http://www.baidu.com/s?cl=3&ie=utf-8&wd=%e6%bd%ae%e5%b7%9e%e5%b8%82%e7%88%b1%e5%bf%83%e7%a6%8f%e5%88%a9%e4%bc%9a
腾讯SOSO:http://www.soso.com/q?pid=s.idx&ie=utf-8&w=%e6%bd%ae%e5%b7%9e%e5%b8%82%e7%88%b1%e5%bf%83%e7%a6%8f%e5%88%a9%e4%bc%9a
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
本文来源于 龙卷风资讯网 http://www.ljf.cn/ ;原文地址:http://www.ljf.cn/2009/2/Item171068.html
1、把网页编码由UTF-8改成gbk或者gb2312的,即修改为:<meta http-equiv="Content-Type" content="text/html; charset=gb2312 " />,这样就可以解决乱码的问题。这是为刚开始进行开发,或者修改网页编码很容易的情况下可以采用这种方法。
2、当网站已经开发完成而且几乎所有的网页都是UTF-8编码的,修改代码非常麻烦,那就需要采用第二种方法了,在form表单中添加一个参数:<input type=hidden name=ie value="UTF-8">,再提交的时候就一切正常了。
3、在Url上面处理编码。统一编码为:utf-8。
在Url后加上:&ie=utf-8
例如:
百度:http://www.baidu.com/s?wd=##QUERY##&ie=utf-8
搜狗:http://www.sogou.com/web?query=##QUERY##&ie=utf-8
搜搜:http://www.soso.com/q?pid=s.idx&ch=s.idx&w=##QUERY##&ie=utf-8
附:
大部分中文搜索引擎接收的编码是GB2312的,包括Google默认的编码。但是使用UTF-8制作网页是一种趋势,方便不同地区的人们浏览。在网页中设置类似于“在Google中搜索关于XXX的资料”这样的链接,可以为访客提供方便,但是涉及到UTF-8编码时,事情就变得有些麻烦了。
1、直接能使用UTF-8编码的搜索引擎。
只有Google和雅虎。
示例:Google:http://www.google.cn/search?hl=zh-CN&q=%e6%bd%ae%e5%b7%9e%e5%b8%82%e7%88%b1%e5%bf%83%e7%a6%8f%e5%88%a9%e4%bc%9a
Yahoo:http://one.cn.yahoo.com/s?pid=hp&v=web&p=%e6%bd%ae%e5%b7%9e%e5%b8%82%e7%88%b1%e5%bf%83%e7%a6%8f%e5%88%a9%e4%bc%9a
2、使用参数就能解决的搜索引擎。
包括百度、腾讯SOSO,只需要在链接后添加参数ie=UTF-8,效果就跟使用GB2312一样。
示例:百度:http://www.baidu.com/s?cl=3&ie=utf-8&wd=%e6%bd%ae%e5%b7%9e%e5%b8%82%e7%88%b1%e5%bf%83%e7%a6%8f%e5%88%a9%e4%bc%9a
腾讯SOSO:http://www.soso.com/q?pid=s.idx&ie=utf-8&w=%e6%bd%ae%e5%b7%9e%e5%b8%82%e7%88%b1%e5%bf%83%e7%a6%8f%e5%88%a9%e4%bc%9a
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
本文来源于 龙卷风资讯网 http://www.ljf.cn/ ;原文地址:http://www.ljf.cn/2009/2/Item171068.html
相关文章推荐
- HTML 网页的中文在chrome中出现乱码的解决办法
- IE地址栏百度搜索经常出现乱码,打开网页搜索就不会出现这种情况的解决方法
- Eclipse导入Android项目,代码,注释出现乱码解决办法!
- Eclipse导入Android项目,代码,注释出现乱码解决办法!
- 代码从记事本拷贝到 source insight 工程出现中文乱码解决办法
- Visual Studio 2010 复制代码到word时出现中文乱码的解决办法
- VS2010复制代码到word时出现中文乱码的解决办法(转)
- 向百度搜索提交utf-8代码乱码解决方法,百度搜索url乱码
- VS 2010 复制代码到word出现乱码解决办法
- VS 2010 复制代码到word出现乱码解决办法
- JavaWeb项目中输入中文搜索出现乱码的解决办法
- Eclipse导入Android项目,代码,注释出现乱码解决办法!
- 浏览器点击百度搜索结果之后,原搜索页面出现重定向乱码不断刷新问题的分析和解决
- Eclipse导入Android项目,代码,注释出现乱码解决办法
- Eclipse导入Android项目,代码,注释出现乱码解决办法!
- Fastestfox 百度搜索时显示乱码的解决办法
- 在使用中文名导出数据到excel文件时文件名出现乱码的解决办法
- 使用history.back()出现"警告: 网页已过期的解决办法"
- 使用history.back()出现"警告: 网页已过期的解决办法"
- 使用google code时commit代码出现不能连接的情况解决办法