首页 > 学习笔记 > UTF-8编码站直接调用Baidu搜索的问题
2007
09-20

UTF-8编码站直接调用Baidu搜索的问题

一个UTF-8编码的站点,在页面中需要有如下的链接:

查看更多关于"给不起的爱"的内容,关键词“给不起的爱”链接

http://www.baidu.com/baidu?word=给不起的爱

但是,点过去后搜索框显示的关键词是乱码:(

如果直接在地址栏输这个网址,确又正常。

将中文rawurlencode一下,变成

http://www.baidu.com/baidu?word=%E7%BB%99%E4%B8%8D%E8%B5%B7%E7%9A%84%E7%88%B1

同样如此。

知道这是因为UTF-8下一个中文三个字符,而Baidu使用GB2312编码,一个中文两个字符的原因,但是怎么解决呢?Google就可以直接调用,因为其本身就是UTF8的,如果是gb2312的页面过去,则只要在网址后面加上&ie=GB2312就可以。Baidu不知道要怎么解决,难道要将UTF-8产生的字符通过函数转换为gb2312的编码?在Baidu的帮助中没能找到方法。

搜索了一下,从一大堆无用信息中找到了一条,解决了这个问题:)

方法是在后面加上&ie=utf-8,呵呵Baidu也早就有解决这个问题的方法了。

于是最终链接地址变成:
http://www.baidu.com/baidu?word=%E7%BB%99%E4%B8%8D%E8%B5%B7%E7%9A%84%E7%88%B1&ie=utf-8

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

留下一个回复