VB.netでアクセント記号の文字化けを回避するには?

解決


さんたくん  2004-07-28 13:25:36  No: 115137  IP: [192.*.*.*]

初めまして、さんたくんと申します。
色々調べましたが、文字化けが回避されないのでどうか教えてください。

以下のソースはVB6から移行したものです
tsi = fso.OpenTextFile(strFullPath, Scripting.IOMode.ForReading)tso.WriteLine(tsi.ReadAll)

なお、strFullPathに指定されたファイルはアクセント記号を含んだファイルで一括
Readする形となります

以上  よろしくお願いします

編集 削除
特攻隊長まるるう  2004-07-28 14:03:18  No: 115138  IP: [192.*.*.*]

とりあえず…コードは正確に書いてください。
こんなコードでは文字化け以前に動かないと思いますが?。

こちらで^(全角)^(半角)を含むテキストファイル(.txt)
を試したところ、文字化けは起こりませんでした。

現象が再現できる最小限のコードを載せてください。

編集 削除
さんたくん  2004-07-28 17:58:28  No: 115139  IP: [192.*.*.*]

特攻隊長まるるうさん  簡略化したコードですみませんでした

あれから調べましたが、以下のようにStreamReaderでエンコードを
指定することにより文字化けが回避できそうです
ありがとうございました


Dim sr As New System.IO.StreamReader("C:\test.txt", _
    System.Text.Encoding.GetEncoding(932))
'内容をすべて読み込む
Dim s As String =  sr.ReadToEnd() 
'閉じる
sr.Close()
 
'結果を出力する
Console.WriteLine(s)

編集 削除