次のコードは、ファイルを1行ずつ読み取るために使用されます。
これは非常に初期のバージョンであるため、イミディエイトウィンドウに文字列を表示するだけです。 ÄÜÖèàなどの文字が疑問符の付いた黒い四角に置き換えられることを除いて、正常に機能しています。ドキュメントによると、ファイルリーダーはUTF-8文字と互換性があるはずなので、何が間違っているのかわかりません。
...
Dim reader = File.OpenText(filetoimport.Text)
Dim line As String = Nothing
Dim lines As Integer = 0
While (reader.Peek() <> -1)
line = reader.ReadLine()
If line.StartsWith("<item key=""") Then
Dim Firstpart As String = Nothing
Firstpart = line.Substring(11, line.IndexOf(""" value=") - 11)
Debug.WriteLine(Firstpart)
lines = lines + 1
Label3.Text = lines
Application.DoEvents()
Else
Label3.Text = lines
Application.DoEvents()
End If
End While
...
ファイルはUTF-8ではなくANSIエンコードされていますが、リーダーはUTF-8を使用します。
リーダーの宣言をこの宣言に置き換えたところ、動作するようになりました!
Dim reader As New StreamReader(filetoimport.Text, Encoding.Default)
Encoding.Defaultは、Windowsコントロールパネルで設定されるANSIコードページを表します。
このように...漢字を読むのに使った...
Dim reader as StreamReader = My.Computer.FileSystem.OpenTextFileReader(filetoimport.Text)
Dim a as String
Do
a = reader.ReadLine
'
' Code here
'
Loop Until a Is Nothing
reader.Close()