Unicode -- missing Spanish chars

C

Chip

I was under the impression that all the string and file handling methods in
vb.net defaulted to UTF-8. I am losing chars and I don't know why.

Dim fs As New FileStream(MyFilename, FileMode.Open, FileAccess.Read,
FileShare.None)
Dim Reader As New StreamReader(fs)
Dim StrList As String

If FileExists(MyFilename) Then
StrList = Reader.ReadToEnd
Reader.Close()
fs.Close()

File being read in: "Las telarañas de Carlota"
After read, StrList = "Las telaraas de Carlota" (note missing "ñ")

Can anybody help?
 
J

Joerg Jooss

Chip said:
I was under the impression that all the string and file handling
methods in vb.net defaulted to UTF-8.

That's not true. .NET strings use UTF-16 internally. File I/O uses
UTF-8 implicitly only if use the default StreamWriter or StreamReader
constructors or helper methods like File.OpenText().
I am losing chars and I don't know why.
Dim fs As New FileStream(MyFilename, FileMode.Open, FileAccess.Read,
FileShare.None) Dim Reader As New StreamReader(fs)
Dim StrList As String

If FileExists(MyFilename) Then
StrList = Reader.ReadToEnd
Reader.Close()
fs.Close()

File being read in: "Las telarañas de Carlota"
After read, StrList = "Las telaraas de Carlota" (note missing "ñ")

Can anybody help?

That means that the original file is not UTF-8 encoded. Try using a
StreamReader with a different encoding like Windows-1252.

Cheers,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top