各位大哥们 谁能告诉我这是怎么回事  发送到对方手机上的中文全是乱码:?????... 这类字符的  这是我的源码 能看看有什么问题吗?? public string GetHtmlFromUrl(string url)
        {
            string strRet = null;            if (url == null || url.Trim().ToString() == "")
            {
                return strRet;
            }
            string targeturl = url.Trim().ToString();
            try
            {
                HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targeturl);
                hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
                hr.Method = "POST";
                hr.Timeout = 30 * 60 * 1000;
                WebResponse hs = hr.GetResponse();
                Stream sr = hs.GetResponseStream();
                StreamReader ser = new StreamReader(sr, Encoding.Unicode);
                strRet = ser.ReadToEnd();
            }
            catch (Exception ex)
            {
                strRet = null;
            }
            return strRet;
        }

解决方案 »

  1.   

    StreamReader ser = new StreamReader(sr, Encoding.Unicode);换成其他 编码试试
    Encoding.Unicode 改掉试试
      

  2.   

    Encoding.Default 
    或者 你看看网页的编码
      

  3.   


     private static string SendDataByGET(string Url, string postDataStr)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
            //if (cookie.Count == 0)
            //{
            //    request.CookieContainer = new CookieContainer();
            //    cookie = request.CookieContainer;
            //}
            //else
            //{
            //    request.CookieContainer = cookie;
            //}        request.Method = "GET";
            request.ContentType = "text/html;charset=gb2312";        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("gb2312"));
            string retString = myStreamReader.ReadToEnd();
            myStreamReader.Close();
            myResponseStream.Close();        return retString;
        }
    我用的,没问题,你问清楚你用的第三方接口要求什么编码,然后这里        StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("gb2312"));修改成响应编码就行了
      

  4.   

    我提供的方法发送参数以及内容什么的都包括在url里面了,string postDataStr 这个参数没用到