VisualBasic2005で勉強中の者です。WebBrowser1に、Shift-JIS・日本語で記述されたウェブページが表示されているとき、そのDocumentTextを、TextBox1に表示させるにはどうすればよいでしょうか。具体的なコードをご教示頂ければと存じます。

回答の条件
  • 1人2回まで
  • 登録:2006/08/15 22:20:54
  • 終了:2006/08/16 00:20:08

ベストアンサー

id:KirakiraHikaru No.1

KirakiraHikaru回答回数354ベストアンサー獲得回数682006/08/15 23:56:16

ポイント100pt

DocumentTextはどうも文字化けするようで、上手く処理できませんでした。

詳細は下記が参考になるかと思います。

http://dobon.net/vb/bbs/log3-24/14371.html


DocumentStreamから読み込んで文字コード変換して取得すると、

上手く処理して表示してくれます。

WebBrowser1.Document.Encodingによる指定なので、

Shift-JIS以外の文字コードも自動的に判断して適切な文字コードに変換してくれます。

(IEの自動判別に依存すると思いますので100%

どのページも正確に判定してくれる保証はないですが)

        Dim buff(WebBrowser1.DocumentStream.Length - 1) As Byte
        WebBrowser1.DocumentStream.Read(buff, 0, WebBrowser1.DocumentStream.Length)
        Me.TextBox1.Text = System.Text.Encoding.GetEncoding(WebBrowser1.Document.Encoding).GetString(buff)

これを自作で行おうとすると、下記のように文字コードの判別・変換をするコードが必要になります。

http://dobon.net/vb/dotnet/string/detectcode.html

id:crashtruck

いつもありがとうございます。今回も、一発でできました。またお願いいたします!

2006/08/16 00:19:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません