none
WebClient DownloadData的参数Uri含有中文时,出现乱码问题 RRS feed

  • 问题

  • public static string HttpPost(Uri uri)
            {
                WebClient http = new WebClient();
                try
                {
                    byte[] data = http.DownloadData(uri);
                    string result = Encoding.Default.GetString(data);
                    if (result.StartsWith("Error"))
                    {
                        return "";
                    }
                    return result.Trim();
                }
                catch (WebException we)
                {
                    log.Error("HttpPost => " + we.Message + ":" + uri.ToString());
                    return "WebException";
                }
                catch (Exception e)
                {
                    log.Error("HttpPost => " + e.Message + ":" + uri.ToString());
                    return "";
                }
                finally
                {
                    if (http != null)
                        http.Dispose();
                }
            }

    如上,参数uri含有中文,向远程的WebLogic服务做POST请求,WebLogic端接收到的中文是乱码

    本地的请求是请求WebLogic上的一个.xml文件,位于ibatis框架下

    奇怪的是:同样的url,输入到IE9的地址栏去访问,接收到的却是中文!!非乱码

    app.config的编码为GB2312,WebLogic的编码兼容GB2312、GB18030等所有简体中文编码,请问大大们何解...

    2012年7月9日 9:16

答案

全部回复