教えてください。以下はvisual basic 2005のサンプルです。タブ形式のファイルを読み込むものです。コンパイルはとおりますが、テキストボックスに表示すると英文字、漢字とも文字化けしてしまいます。理由と対処方法がわかりません。教えてください。



Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

Dim objFile As New System.IO.StreamReader("d:\xxx.txt")


Dim strLine As String
Dim strTemp() As String
Dim intCnt As Integer
Dim strData As String


strLine = objFile.ReadLine()
While (strLine <> "")

strTemp = Split(strLine, "  ")

For intCnt = 0 To UBound(strTemp)

strData = strData + CStr(intCnt)


strData = strData + strTemp(intCnt)
Next

strData = strData

strLine = objFile.ReadLine()
End While

TextBox1.Text = strData

objFile.Close()


End Sub

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/03/21 07:38:48
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:KirakiraHikaru No.1

回答回数354ベストアンサー獲得回数68

ポイント60pt

StreamReaderで読み込むときに対象ファイルの文字コードを設定しないと、

デフォルトのUTF8として処理されます。


ですので、対象ファイルがShift-JISの場合は下記のように文字コードを指定してください

Dim objFile As New System.IO.StreamReader("d:\xxx.txt", System.Text.Encoding.GetEncoding(932))


それ以外の文字コードの場合は各文字コードを指定してください。

下記が参考になると思います。

DOBON.NET 文字コードを指定してテキストファイルを読み込む

http://dobon.net/vb/dotnet/file/readfile.html

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

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

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

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

回答リクエストを送信したユーザーはいません