VB2005 - Como ler caracteres especiais ?!

trikton

Power Member
Boas tardes,

Estou a iniciar-me na programação em vb (vb5 express).
Comecei por desenvolver uma aplicação que vai lendo um ficheiro, linha a linha , processa estas linhas e escreve num outro ficheiro. Uma coisa simples por sinal, o problema é que quando leio linhas que contêm caracteres especiais (e.g. ã, é, ç), estes são ignorados.

Ex:
Linha do ficheiro: "sub estação de são sebastião"

Linha em memória depois de lida : "sub estao de so sebastio"

Alguém que conheça este problema e me possa ajudar?
Obrigado
 
Boas!

Duas perguntas:
1) é VB5 ou VB 2005 Express Edition?
2) Como tens o ficheiro codificado? UTF ou iso-8859-x?

abraços, HecKel
 
É o VB 2005 Express Edition.
Quanto à codificação do ficheiro, presumo que seja o iso-8859-x, pq estive a experimentar umas coisitas com o encoding e deu-me a informação de estar a usar o UTF para descodificar o ficheiro..
 
Nunca programei em VB 2005, mas tendo em conta que é da MS julgo que é capaz de dar confusão a ler ficheiros em condificações diferentes de iso-8859-x...., se não for este o problema não me ocorre nada que te possa ajudar :(

abraços, HecKel
 
Código:
Dim reader As New System.IO.StreamReader("ficheiro.txt", System.Text.Encoding.UTF8)
  Try
    Dim theString As String = reader.ReadToEnd()
   Finally
    reader.Close()
  End Try


Vê a classe System.Text.Encoding

/ing
 
Oi, obrigado por tudo, lá me consegui desenrrascar do problema.
O que fiz foi basicamente isto:

'Definição da codificação do ficheiro que vai ser lido
Dim enc As Encoding
'Códigos da pagina 1252 (contêm acentos)
enc = Encoding.GetEncoding(1252)

Dim fileReader As New System.IO.StreamReader(input, enc)

Abraços
 
Back
Topo