Веб-запрос с UTF8

Я вижу некоторые несоответствия (от сервера) при использовании WebRequest с данными, отличными от английского.

String strData = "zéro";
// String strData = "zero"; // this works
request = WebRequest.Create("http://example.com");
request.Method = strMethod;
byte[] byteArray = Encoding.UTF8.GetBytes(strData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
((HttpWebRequest)request).UserAgent = "Sailthru API C# Client";
Stream dataStream = request.GetRequestStream();
// Write the data to the request stream.
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();

Это происходит только при использовании С#, в то время как java и PHP работают должным образом, поэтому я думаю, что это может быть связано с тем, как я кодирую данные.

Любое предложение, что я делаю неправильно?

Спасибо заранее.


person Prajwal Tuladhar    schedule 17.05.2012    source источник
comment
Какая у вас проблема? Я не понимаю, что происходит.   -  person gabsferreira    schedule 17.05.2012
comment
Может быть, ваши серверы ожидают кодировку ASCII?   -  person 6opuc    schedule 17.05.2012


Ответы (1)


Это должно быть application/x-www-form-urlencoded;charset=utf-8, и ваш ответ также должен иметь content-type: x;charset=utf-8.

person inf3rno    schedule 31.05.2014