• 締切済み

HTTP接続すると文字化けがおこってしまいます

VB2005です。 HTTPサーバーに接続してデータをテキストボックスに書き出す処理なのですが、どうしても文字化けしてしまい困っています。どうしたらよいでしょうか? Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' HTTPサーバーへ接続する Dim client As New WebClient Try ' HTTPサーバーへ接続しストリームを取得する Dim stream As System.IO.Stream = _ client.OpenRead(TextBox1.Text) ' テキストボックスへ結果を書き出す Dim reader As New System.IO.StreamReader(stream) TextBox2.Text = reader.ReadToEnd() reader.Close() stream.Close() Catch ex As WebException ' URLが不正の場合は例外が発生する MessageBox.Show(ex.Message) End Try End Sub

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

VB2005の場合内部でのもじれつの取り扱いはUnicodeになっています Shift-JISやEUCなど他の文字コードの場合はエンコードが必要でしょう StreamReadにエンコーディングの引数を与えてみましょう たとえば『教えてgoo』の場合は EUCですので Dim reader As New System.IO.StreamReader(stream) を Dim reader As New System.IO.StreamReader(stream, Encoding.GetEncoding("EUC-JP")) といった具合にします Streamから自動判断するような仕組みはネットで検索してみてください

関連するQ&A