http://sese.gxqzbc.com.cn:85/MsgSend/Default.aspx?tel=13888888888&msg=还是个测试
上面的URL是想手机发送短信的,我在ie地址栏里执行是可以正确发送的,但是我在程序里调用的时候后面的汉字就变成了乱码。
string message = "还是个测试";
WebRequest request3 = WebRequest.Create("http://sese.gxqzbc.com.cn:85/MsgSend/Default.aspx?tel=13888888888&msg="+message );
                HttpWebResponse hwr3 = (HttpWebResponse)request3.GetResponse();
                hwr3.Close();这样收到的就是乱码,请问怎么处理上面的汉字。

解决方案 »

  1.   


    System.Web.HttpUtility.UrlEncode
      

  2.   

    我写的是winform程序,上面的用不了的。
      

  3.   

    那就是你不对拉,这里是asp.net专区
      

  4.   

    就是用此方法将地址栏转码。。转成utf-8或gb2312
      

  5.   

      其实在地址栏传递字符串不科学。不如可以使用Cookie,Session之类的保存一下,再去读取。或者传递的知识一个具有标识列的主键会比较好。
      

  6.   


    发错地方了,这里是ASP.NET技术区。。
      

  7.   

    string mm=Server.URLEncode(你);
    Response.Redirect(index.aspx?mm=+mm);然后在接收页解码:
    string mm = Server.URLDecode(Requext.querystring(mm));
      

  8.   

    WINFORM也可以啊
    引用 System.Web.Dll
    引用 System.Web 命名空间。HttpUtility.HtmlEncode(str);
      

  9.   

    js用:
    var str = escape("还是个测试");
    C#用:
    string str = System.Web.HttpUtility.UrlEncodeUnicode("还是个测试");
    WinForm可以通过添加引用System.Web,来使用上面的代码。
    这样编码出来的URL无论客户端服务端是哪个国家,无论用的是什么编码,都能正确接收。
      

  10.   

    web.config 文件中配置
    <globalization 
                requestEncoding="gb2312" 
                responseEncoding="gb2312" />
      

  11.   


    你添加引用即可在添加引用时选 .NET 的选项卡System.Web 就是
      

  12.   

    using System.Web;没有就加入 System.Web 2.0;