首页 新闻 赞助 找找看

百度的站内搜索代码的问题?

0
悬赏园豆:10 [已解决问题] 解决于 2008-05-12 20:39
最近搞了个网店,想加上百度的站内搜索代码,可是从百度上copy来的代码不能用,从那个输入框输入的汉字,转到百度的时候就变成了乱码的<BR>如:输入“百度”就会变成了“<FONT face=Verdana>鐧惧害</FONT>”<BR><FONT face=Verdana>http://www.baidu.com/baidu?word=%E7%99%BE%E5%BA%A6&amp;tn=bds&amp;cl=3&amp;ct=2097152&amp;si=www.roseav.com&amp;s=on<BR></FONT>应该是编码的问题吧,但是不知道改哪里,百度啊?<BR>谁知道告诉我一下啊,<BR>演示地址<A href="http://www.roseav.com/"><FONT color=#810081>www.roseav.com</FONT></A>站底下方<BR><BR><FONT face=Verdana>&lt;SCRIPT language=javascript &gt;<BR>function g(formname)&nbsp;{<BR>var url = "http://www.baidu.com/baidu";<BR>if (formname.s[1].checked) {<BR>&nbsp;formname.ct.value = "2097152";<BR>}<BR>else {<BR>&nbsp;formname.ct.value = "0";<BR>}<BR>formname.action = url;<BR>return true;<BR>}<BR>&lt;/SCRIPT&gt;<BR>&lt;form name="f1" onsubmit="return g(this)"&gt;<BR>&lt;table bgcolor="#FFFFFF" style="font-size:9pt;"&gt;<BR>&lt;tr height="60"&gt;&lt;td valign="top"&gt;&lt;img src="http://img.baidu.com/img/logo-137px.gif" border="0" alt="baidu"&gt;&lt;/td&gt;<BR>&lt;td&gt;<BR>&lt;input name=word size="30" maxlength="100" &gt;<BR>&lt;input type="submit" value="百度搜索"&gt;&lt;br&gt;<BR>&lt;input name=tn type=hidden value="bds"&gt;<BR>&lt;input name=cl type=hidden value="3"&gt;<BR>&lt;input name=ct type=hidden&gt;<BR>&lt;input name=si type=hidden value="www.roseav.com"&gt;<BR>&lt;input name=s type=radio&gt; 互联网<BR>&lt;input name=s type=radio checked&gt; www.roseav.com<BR>&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<BR>&lt;/form&gt;</FONT>
椰子晚的主页 椰子晚 | 初学一级 | 园豆:190
提问于:2008-05-11 11:22
< >
分享
最佳答案
0
不知道是否影响你的其他页面代码,但就百度搜索的问题解决有两种方法,如下所述: 1、在你粘贴百度代码的页面中,如<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" ResponseEncoding="gb2312" %>增加【ResponseEncoding="gb2312"】属性值,这样你的ASPX页面就正确了,当然这个方法只是影响本页,而不会影响整个工程的页面,如最终测试页代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" ResponseEncoding="gb2312" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>百度搜索测试页</title> <script language="javascript" type="text/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> </head> <body> <form name="f1" onsubmit="return g(this)"> <table bgcolor="#FFFFFF" style="font-size:9pt;"> <tr height="60"><td valign="top"><img src="http://img.baidu.com/img/logo-137px.gif" border="0" alt="baidu"></td> <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=ct type=hidden> <input name=si type=hidden value="www.guoxue.com"> <input name=s type=radio> 互联网 <input name=s type=radio checked> www.guoxue.com </td></tr></table> </form> </body> </html> 注意代码中的第一行变化。 2、也可以在Web.config中的<system.web></system.web>节中增加<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>。测试的Web.config代码如下: <?xml version="1.0"?> <!-- 注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的 “网站”->“Asp.Net 配置”选项。 设置和注释的完整列表在 machine.config.comments 中,该文件通常位于 \Windows\Microsoft.Net\Framework\v2.x\Config 中 --> <configuration> <appSettings/> <connectionStrings/> <system.web> <!-- 设置 compilation debug="true" 将调试符号插入 已编译的页面中。但由于这会 影响性能,因此只在开发过程中将此值 设置为 true。 --> <compilation debug="true"> <assemblies> <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation> <!-- 通过 <authentication> 节可以配置 ASP.NET 使用的 安全身份验证模式, 以标识传入的用户。 --> <authentication mode="Windows"/> <!-- 如果在执行请求的过程中出现未处理的错误, 则通过 <customErrors> 节可以配置相应的处理步骤。具体说来, 开发人员通过该节可以配置 要显示的 html 错误页 以代替错误堆栈跟踪。 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> --> <globalization requestEncoding="gb2312" responseEncoding="gb2312"/> </system.web> </configuration> 注意增加的倒数第三行<globalization />节。这样更改会影响整个工程的Encoding,应此请慎用此方法。 本人建议采用第一种方法,希望能解决你的问题。祝你好运!
刚刚 | 老鸟四级 |园豆:3151 | 2008-05-11 16:40
其他回答(1)
0
楼上的兄弟辛苦了,只是我发现楼主的网站貌似是php开发的ecshop,楼主出现的我问题是由于www.roseav.com首页采用了utf-8编码,而百度则使用的是gb2312编码,所以提交表单的时候需要进行编码转换,楼上兄弟给你的asp.net(c#)的解决办法, 如果是php,你可以使用下面的类在表单提交前进行编码转换,呵呵 http://blog.sithere.net/article.asp?id=1677.html
SitHere | 园豆:275 (菜鸟二级) | 2008-05-11 17:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册