大家往往在向自己的博客或者网站加上百度或者google的搜索框的时候经常会看见乱码。主要是用中文搜索的时候,我用的是zblog,在加百度和google搜索框都出现过这个问题。
现在说说我的解决方法:
1、如果是搜索按钮几个字乱码,那么很可能是你的js文件不是用的UTF-8编码,因为windows的记事本默认的就不是,所以很多人出现过这个问题,解决方法是下载一个记事本代替windows默认的记事本,我用的是notepad++,功能强大不说,格式还可以自己选。
2、输入中文搜索时出现乱码
这个问题的原因是你的网站的编码和百度,google编码不一样,google adsense可以自己选择编码,一般选UTF-8就不会出问题,百度的可以自己加几句说明搜索代码代表的是中文的。(下面的代码中有注释)
这是我的百度搜索框,如果你想用js调用,将html转化为js,http://www.ourys.com/ad/baidu.js,这是我的网站的百度js调用,我改了一下风格,去掉了百度logo,下面的是html代码,你可以到http://www.hao123.com/haoserver/jstohtm.htm这里转为js。
<SCRIPT language=javascript>
function g(formname) {
var url = "http://www.baidu.com/baidu";
if (formname.s[1].checked) {
formname.ct.value = "2097152";
}
else {
formname.ct.value = "0";
}
formname.action = url;
return true;
}
</SCRIPT>
<form name="f1" onsubmit="return g(this)">
<table bgcolor="#000000" style="font-size:9pt;">
<tr height="60">
<td>
<input name=word size="30" maxlength="100">
<input type="submit" value="百度搜索"><br>
<input name=tn type=hidden value="bds">
<input name=cl type=hidden value="3">
<input name=ie type=hidden value="UTF-8"> //说明是中文
<input name=oe type=hidden value="UTF-8"> //说明是中文
<input name=hl type=hidden value="zh-CN"> //说明是中文
<input name=ct type=hidden>
<input name=si type=hidden value="www.ourys.com">
<input name=s type=radio> 互联网
<input name=s type=radio checked> www.ourys.com</td></tr></table>
</form>