UTF8编码C#Webrequest
我正试图提出一个webrequest并用希伯来语发送一个帖子数据 但是服务器端得到的是类似于“???????”的信息,而不是希伯来语UTF8编码C#Webrequest,c#,post,utf-8,httpwebrequest,webrequest,C#,Post,Utf 8,Httpwebrequest,Webrequest,我正试图提出一个webrequest并用希伯来语发送一个帖子数据 但是服务器端得到的是类似于“???????”的信息,而不是希伯来语 WebRequest request = WebRequest.Create(MyserverClient.Url + Constants.TaskUpdatePropertyURL); ((HttpWebRequest)request).AllowAutoRedirect = false; ((HttpWebRequest)request).KeepAl
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;
}
正如我所说,对于非英语的服务器,post数据是“?”,但我应该是“一些非英语文本”
有什么建议吗
StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
也许这会起作用: 用希伯来语
Encoding.GetEncoding(1255)
您可以使用
Uri.EscapeDataString(string)
与2017.net4相比,这一个似乎不再适合我了。5@AltF4_是的,这篇文章是从2014年开始的,它可能仍然适用于旧版本