关于C#调用http接口,POST返回数据的问题,请问如何解决?

写了个Post方法,当param的xml节点中有中文的时候,中文,获取不到response的返回数据,请帮忙看看,方法哪里有问题??


public static string Post( string param)
        {
            try
            { 
            string responseXml = "";
            // XML请求体
            string requestBody = param;
            // 发送POST请求
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
            request.Method = "POST";
            request.ContentType = "text/xml";
            byte[] payload;
            payload = System.Text.Encoding.UTF8.GetBytes(requestBody);
            request.ContentLength = payload.Length;
            // request.ContentLength = requestBody.Length;
           using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
            {
                    writer.Write(Encoding.ASCII.GetChars(payload));
                   // writer.Write(requestBody);
            }

            // 获取响应
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            // 读取响应流
            using (Stream responseStream = response.GetResponseStream())
            {
                StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
                responseXml = reader.ReadToEnd();
            }
           //关闭响应流和请求对象
            response.Close();
            request.Abort();
            //responseXml = responseXml.Replace("\"", "'");
            if(strXmllog=="true")
            {
                Logger.log(responseXml);
            }
           return responseXml;
            }
            catch (Exception exception)
            {
                Logger.log(exception.ToString() + Environment.NewLine);
                return "";
            }
        }

设置下 content-type:text/html;charset=UTF-8
看看