百度搜索代码utf-8乱码解决方法
摘要:在我们的网站上放“百度的搜索代码”方便用户快速搜索。但是百度官方提供的搜索代码不支持UTF8,我们的网站编码为UTF-8的时候搜索关键词出现乱码 。百度搜索代码UTF-8乱码解决的方法如下:在form表单内添加如下代码:<input type=hidden name=i…
在我们的网站上放“百度的搜索代码”方便用户快速搜索。但是百度官方提供的搜索代码不支持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



