- - PR -
HTMLを取得すると文字化けしてしまう・・・
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-10-05 00:21
ASP.NET C#.NETにて「URL」を入れ実行すると
そのHPのHTMLを取得してブラウザ内テキストボックスに表示するPGM なのですが、2バイト文字部分が化けて仕舞います。 エンコードの問題だと思うのですが、ご存じの方御願いします。 private void btnGet_Click(object sender, System.EventArgs e) { WebClient client = new WebClient(); Stream strm = client.OpenRead(txtUrl.Text); StreamReader sr = new StreamReader(strm); txtHtm.Text = sr.ReadToEnd(); } [ メッセージ編集済み 編集者: masatok2 編集日時 2003-10-05 12:30 ] | ||||
|
投稿日時: 2003-10-06 08:56
たぶん何度も何度も出ている話題です。
.NET Tipsなら http://www.atmarkit.co.jp/fdotnet/dotnettips/036fileread/fileread.html ここでも参照してください。 ほとんど「 Encoding の指定なしによる文字化け(StreamReader とかはデフォルトの Encoding 指定が UTF-8 になっている)」ですんで確認してください。 一応その他の原因、注意点もありますので、書いておきます。 ・http でダウンロードしてくる場合 http ヘッダーを見ているサーバーが時々あります。User-Agent で切り替えたりとか Accept-Langauage みてたりとか。反応が変わる場合がありますので気をつけましょう。 ・ReadToEnd を http の Stream で読み出すと昔そこでとまったことがあります。 Keep-Alive のせいだと思うのですが…。 ・「使った Stream」は閉じましょう。 少しまじめにコードを書くと…
たぶんこの場合は Encoding が違うだけでしょうけど、きちんと作るのなら、WebPage 取得は色々とやらなきゃいけないことは多いですよん。 | ||||
|
投稿日時: 2003-10-06 20:57
大変お世話になります。
早速試して見ます、成功しましたら、またカキコしますので よろしく御願いします。 |
1