none
向网页提交数据,提交中文结果都是乱码,我的代码改如何修改。 RRS feed

  • 问题

  • 向网页提交数据           

    Parameters p = new Parameters();

                p.Add("action", "汉字");

                PostRequest(url,p);  

     

     

    public void PostRequest(string url, RequestParameters parameters)
            {

                byte[] bytes = System.Text.Encoding.Default.GetBytes(parameters.FormatedData);

                System.Net.HttpWebRequest request = WebRequest.Create(url) as System.Net.HttpWebRequest;
                request.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
                request.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");
                request.Headers.Add("Accept-Encoding", "gzip, deflate");
                request.CookieContainer = this.cookieContainer;
                request.ContentLength = bytes.Length;
                request.Method = "POST";
                request.Headers.Add("Accept-Charset", "GB2312,utf-8;q=0.7,*;q=0.7");
                request.ContentType = "application/x-www-form-urlencoded";
                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
           


                if (this.BeginRequest != null)
                {
                    this.BeginRequest(request);
                }
                Stream requestStream = null;
                try{
                    requestStream = request.GetRequestStream();

                   
                }catch(Exception cannot) {
                    return "false";
                }
                requestStream.Write(bytes, 0, bytes.Length);
                requestStream.Close();

    }

     

    这个时候用抓包查看,提交的数值都是乱码,在网页上看到也是乱码,我改如何进行设置?

    2010年11月10日 5:18

答案

  • byte[] bytes = System.Text.Encoding.GetEncoding("GB2312").GetBytes(parameters.FormatedData);
    【孟子E章】
    • 已标记为答案 panpanpwr 2010年11月11日 4:27
    2010年11月11日 1:35
    版主
  • 注意你网站(网页一开始开发的编码格式):

    yte[] bytes = System.Text.Encoding.GetEncoding("这里输入你网站(网页)编码方式").GetBytes(parameters.FormatedData);

    • 已标记为答案 panpanpwr 2010年11月11日 4:27
    2010年11月11日 2:21
    版主

全部回复

  • byte[] bytes = System.Text.Encoding.GetEncoding("GB2312").GetBytes(parameters.FormatedData);
    【孟子E章】
    • 已标记为答案 panpanpwr 2010年11月11日 4:27
    2010年11月11日 1:35
    版主
  • 注意你网站(网页一开始开发的编码格式):

    yte[] bytes = System.Text.Encoding.GetEncoding("这里输入你网站(网页)编码方式").GetBytes(parameters.FormatedData);

    • 已标记为答案 panpanpwr 2010年11月11日 4:27
    2010年11月11日 2:21
    版主