1
Webサービスに以下のコードを書いて、投稿データを読み込みます。ここでの問題は、リクエストに特殊文字が含まれている場合はいつでも、「amé」と言えば、文字はam として置き換えられ、stringに変換されます。HttpContextの特殊文字を文字列に変換する
byte[] postData= HttpContext.Request.BinaryRead(HttpContext.Request.ContentLength);
string strReq = Encoding.UTF8.GetString(postData);
そして、私は以下のコードでWebサービスを呼び出す:
WebClient webClient = new WebClient();
webClient.Headers["Content-type"] = "text/xml; charset=utf-8";
webClient.Headers[HttpRequestHeader.Authorization] = credentials;
string output = webClient.UploadString(url, "POST", input);
Thanx Mourndark ..éのようなポストデータの特殊文字がデコードされた文字列に反映されない点を除いて、上記のコードでポストデータをデコードすることができました –
はい、ASCIIでエンコードされた通常のラテン文字は、 UTF-8で書かれているので、それは保証できません。私は、U + FFFD、無効な文字が見つかるたびに挿入されるUnicode置換文字です。詳細については、[この回答](http://stackoverflow.com/a/15022396/1096201)を参照してください。 – Mourndark