- PR -

標準入力のファイル名をご存知ありませんか。

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/08/17
投稿数: 3
投稿日時: 2005-08-17 21:44
.Net C#でCGIプログラムを作成しています。
CGIへUTF-8のPOSTデータを渡したいのですが、CGI内で標準入力からデータを取得するために使っているConsole.Readは、入力データをShift-Jisとして解釈しようとしているようでうまく渡すことができません。
対策として、Console.SetINメソッドで標準入力ファイル名とEncoding.UTF8を引数として生成したStreamReaderを設定してエンコードを変えることを考えたのですが、標準入力のファイル名がわからず困っています。
JavaではSystem.inがこれにあたるようです。
どなたかご存知でしたらご教授願います。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-08-17 21:53
Console.OpenStandardInputメソッドで標準入力のStreamインスタンスが取得できますから、それを元にStreamReaderを作成すれば良いんじゃないでしょうか。
未記入
会議室デビュー日: 2005/08/17
投稿数: 3
投稿日時: 2005-08-18 11:28
返信が遅くなり申し訳ありません。
情報ありがとうございました。
ご指摘の方法で何とかなりそうですね。
早速、試してみます。
結果は別途ご報告します。
未記入
会議室デビュー日: 2005/08/17
投稿数: 3
投稿日時: 2005-08-18 12:21
ご指摘の方法で成功しました。
Hongliangさんありがとうございました。

Stream stdStream = Console.OpenStandardInput();
StreamReader stdStreamReader = new StreamReader(stdStream, Encoding.UTF8);
Console.SetIn(stdStreamReader);
1

スキルアップ/キャリアアップ(JOB@IT)