- - PR -
[C#] POSTデータの取得
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-08-17 16:06
いつもお世話になっております。
.NET(C#)でWebアプリケーションを作成しています。 POSTされた情報から 以下のように値を取得しようとすると 値が日本語の場合、文字化けしてしまいます。 string value = Request.Form.Get("KEY_"); URIデコードする必要があると思われるのですが。。 方法がわかりません。ご教授願います。 取得したPOSTデータをすべてでコードは以下の方法で出来るのですが、、 StreamReader reader = new StreamReader(Request.InputStream); string postData = HttpUtility.UrlDecode(reader.ReadToEnd(),Encoding.GetEncoding("SHIFT_JIS")); | ||||||||||||
|
投稿日時: 2004-08-18 09:02
送り側がEUC-JPやUTF-8で送っているのを、Shift-JISでデコードしているから、なんてことはないですか?
あと、"Shift_JIS"(アンダーバー)ではなく、"Shift-JIS"(ハイフン)です。 [ メッセージ編集済み 編集者: Jitta 編集日時 2004-08-18 09:03 ] | ||||||||||||
|
投稿日時: 2004-08-18 09:16
アンダーバーの方が正しくなかったですか? | ||||||||||||
|
投稿日時: 2004-08-18 09:21
あれれ?いちおう、MSDNの、「GetEncodingメソッド(String)」を見ているのですが・・・ http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemtextencodingclassgetencodingtopic2.asp
↑ハイフンですよね? | ||||||||||||
|
投稿日時: 2004-08-18 10:18
送り側がEUC-JPやUTF-8で送っているのを、Shift-JISでデコードしていることは
ないと思います。 以下の方法では正しくデコードされていますので。。。 StreamReader reader = new StreamReader(Request.InputStream); string postData = HttpUtility.UrlDecode(reader.ReadToEnd(),Encoding.GetEncoding("SHIFT_JIS")); |
1