4

我正在尝试发出网络请求并用希伯来语发送帖子数据,但服务器端却像“?????” 而不是希伯来语。

    WebRequest request = WebRequest.Create(MyserverClient.Url + Constants.TaskUpdatePropertyURL);
((HttpWebRequest)request).AllowAutoRedirect = false;
((HttpWebRequest)request).KeepAlive = true;

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;";
request.Headers.Add("Pragma: no-cache");
request.Headers.Add(string.Format("Cookie: {0}", Client.phpId));
    request.Headers.Add(string.Format("requesttoken: {0}", requestToken));

    string postData = "Some Non-english text";      
    using (Stream dataStream = request.GetRequestStream())
{
    byte[] byteArray = Encoding.UTF8.GetBytes(postData);                
    dataStream.Write(byteArray, 0, byteArray.Length);               
    dataStream.Close();
}

    try{
     HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                // Get the stream containing content returned by the server.
         Stream dataStream2 = response.GetResponseStream ();
                // Open the stream using a StreamReader for easy access.
        StreamReader reader = new StreamReader (dataStream2);
                // Read the content. 
        responseFromServer = reader.ReadToEnd ();
    }
 return responseFromServer;

        } 

正如我所说,对于非英语服务器,将帖子数据获取为“???????-?????????????” 但我应该对“一些非英文文本”有什么建议吗?

4

3 回答 3

5

尝试这样的事情:

StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
于 2013-10-20T09:09:01.017 回答
0

您可以使用Uri.EscapeDataString(string)

于 2017-07-13T15:46:47.670 回答
-1

也许这会起作用:在希伯来语中,

Encoding.GetEncoding(1255)
于 2014-11-27T12:35:21.707 回答