1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

VB2005 - Como ler caracteres especiais ?!

Discussão em 'Programação' iniciada por trikton, 22 de Outubro de 2006. (Respostas: 5; Visualizações: 1525)

  1. trikton

    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
     
  2. HecKel

    HecKel The WORM

    Boas!

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

    abraços, HecKel
     
  3. trikton

    trikton Power Member

    É 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..
     
  4. HecKel

    HecKel The WORM

    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
     
  5. inginheiiro

    inginheiiro Power Member

    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
     
  6. trikton

    trikton Power Member

    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
     

Partilhar esta Página