我写了一个用UTF8编码的搜索控件,我在上面添加了一个用“百度”搜索的功能,但是因为百度是用GB2312编码的,所以传过去的中文字符在“百度”的页面无法正常显示,谁能帮帮我

解决方案 »

  1.   

    拭试在Web.config中的globalization节设置如下
    <globalization requestEncoding="GB2312" responseEncoding="GB2312" fileEncoding="GB2312" culture="zh-CN" uiCulture="zh-CN" />
      

  2.   

    Dim packet As String
    Dim data As Byte()
     data = System.Text.Encoding.GetEncoding("GB2312").GetBytes(packet)
      

  3.   

    这样的话,另一个"GOOGLE"的搜索就又不能用了,因为"GOOGLE"是用的UTF8编码的,我要的是实现同时使用这两个搜索,请高手帮忙
      

  4.   

    这样说吧,只能把字符串
    string utf8
    转换成GB2312编码放在字符串
    string gb2312 
    中就可以了
      

  5.   

    只能把字符串
    string utf8
    转换成GB2312编码放在字符串
    string gb2312 
    中就可以了
      

  6.   

    参考
    http://blog.joycode.com/ghj/archive/2005/05/19/51584.aspx
      

  7.   

    我在发贴前已经看过该页面了http://blog.joycode.com/ghj/archive/2005/05/19/51584.aspx
    ,但是这个页面用的是把目标页面转码的方式,我总不能把“百度”的页面改了吧
      

  8.   

    只能把字符串
    string utf8 = "百度"
    转换成GB2312编码放在字符串
    string gb2312  = "%B0%D9%B6%C8"
    中就可以了
      

  9.   

    如果你是用一个输入框填写搜索关键字,就只能做一个编码转换页面。如果关键字是你生成的或者固定的,那么就可以直接编码后输出在页面上。
    编码转换页面示例:<%@ Page language="c#" AutoEventWireup="false" %><%
      Response.Redirect( string.Format( "http://www.baidu.com/baidu?cl=3&tn=qq99&f=5&word={0}", HttpUtility.UrlEncode( Request["mt"], System.Text.Encoding.GetEncoding("gb2312") ) ), true );
    %>
      

  10.   

    Request["mt"]是什么?是被转换的字符串吗
      

  11.   

    我汗这是我以前做过的一个东西。无非就是先把搜索字符串发送到你自己的页面,你的页面编码后再跳转到百度的页面。
    首先把requestEncoding和responseEncoding都设为utf8,确保转换编码页面能收到正确的搜索字符串。然后那个表单就可以改成:<form action="转换编码页面" >搜索关键字:<input name="mt" /><input type="submit" value="搜索" />
    </form>
    够清楚了吧