海海日记-冯海滨博客

您现在的位置是:首页 > 站长 > 正文

站长

百度搜索代码utf-8乱码解决方法

happyfhb2009-05-18站长1263

在我们的网站上放“百度的搜索代码”方便用户快速搜索。但是百度官方提供的搜索代码不支持UTF8,我们的网站编码为UTF-8的时候搜索关键词出现乱码 。

百度搜索代码UTF-8乱码解决的方法如下:

在form表单内添加如下代码:

<input type=hidden name=ie value="UTF-8">

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

查看更多关于"给不起的爱"的内容,关键词“给不起的爱”链接
http://www.baidu.com/baidu?word=永康街报

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

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

将中文rawurlencode一下,变成

http://www.baidu.com/s?cl=3&wd=%D3%C0%BF%B5%BD%D6%B1%A8

同样如此。

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

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

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

于是最终链接地址变成:
http://www.baidu.com/s?cl=3&wd=%D3%C0%BF%B5%BD%D6%B1%A8&ie=utf-8

 

平淡中储蓄成长

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~