C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 15 を表示中)
■5124 / )  Re[2]: Request.InputStreamの値取得について
□投稿者/ さる (2回)-(2007/07/05(Thu) 10:06:18)
No5122 (Moo さん) に返信
>
>>Request.Form("messege")で取得することも可能ですが、Encoding指定が必須となるため、使用できません。
>
> ここについてもう少し詳しくお聞かせください。
> Request.Form("messege")で問題ないと思っていますが
> POSTを送信するページのエンコード(シフト JIS/EUC/UTF-8など)が
> 特定できないということでしょうか。

ありがとうございます。
Request.Form("messege")での取得時ですが、クライアントのエンコードは決まっていますが、
「54936(GB18030)」という特殊コードです。
Request.Form("messege")では、一定の文字コード(UTF-8?)の場合しか取得できないと思っていました。

Request.Form("messege")を使用して、特定の文字コード(または、文字コード指定)で取得する方法があるのでしょうか?

Session.CodePage = 54936
aaaa = Request.Form("messege")

としても、文字化けが発生しました。

stRequest = New StreamReader(Request.InputStream(), GBコード指定)
  aaaa = stRequest.ReadToEnd

では、正確に取得できます。

尚、aspxファイルの保存形式は「UTF-8」固定です。
処理として、GB18030コードで受け取って、他のASPXに「UTF-8」でPOSTし、結果をUTF-8でうけとって、RESPONSEをGB18030で返却する処理です。

宜しくお願いします。
返信 編集キー/


管理者用

- Child Tree -