none
Problema na leitura de arquivo, acentos e outros caracteres especiais RRS feed

  • Pergunta

  • Olá a todos!

    Estou desenvolvendo uma aplicação e preciso ler um arquivo txt.
    Mas ao trazer esse arquivo para o programa os caracteres especiais não são lidos.

    exemplo sinalização fica "sinaliza[][]o"

    Alguém sabe como resolver isso.

    Não é uma aplicação web, é windows form mesmo em php eu saberia resolver mas sou iniciante em c#.

    Agradeço desde já!
    segunda-feira, 19 de janeiro de 2009 10:15

Respostas

  • Olá Renan,

     

    Você precisa descobrir qual Encoding foi utilizado na criação desse arquivo, para que você possa informar o mesmo Encoding quando for abrir o arquivo para ler o conteúdo.

     

    Não sei como você faz para ler o arquivo, mas se estiver utilizando a classe StreamReader, por exemplo, basta especificar o Encoding no construtor da classe, após o nome do arquivo:

     

    Code Snippet

     

     // Abre o arquivo utilizando o encoding padrão do sistema

     StreamReader reader = new StreamReader(@"C:\SeuArquivo.txt", Encoding.Default);

     

     // Abre o arquivo utilizando o encoding UTF8

     StreamReader reader = new StreamReader(@"C:\SeuArquivo.txt", Encoding.UTF8);

     

     // Abre o arquivo utilizando o encoding ASCII

     StreamReader reader = new StreamReader(@"C:\SeuArquivo.txt", Encoding.ASCII);


    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://caioproiete.net
    segunda-feira, 19 de janeiro de 2009 11:50
    Moderador

Todas as Respostas

  • Olá Renan,

     

    Você precisa descobrir qual Encoding foi utilizado na criação desse arquivo, para que você possa informar o mesmo Encoding quando for abrir o arquivo para ler o conteúdo.

     

    Não sei como você faz para ler o arquivo, mas se estiver utilizando a classe StreamReader, por exemplo, basta especificar o Encoding no construtor da classe, após o nome do arquivo:

     

    Code Snippet

     

     // Abre o arquivo utilizando o encoding padrão do sistema

     StreamReader reader = new StreamReader(@"C:\SeuArquivo.txt", Encoding.Default);

     

     // Abre o arquivo utilizando o encoding UTF8

     StreamReader reader = new StreamReader(@"C:\SeuArquivo.txt", Encoding.UTF8);

     

     // Abre o arquivo utilizando o encoding ASCII

     StreamReader reader = new StreamReader(@"C:\SeuArquivo.txt", Encoding.ASCII);


    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://caioproiete.net
    segunda-feira, 19 de janeiro de 2009 11:50
    Moderador
  • Era isso mesmo

    o problema é que estava como ansi

    salvei como utf8 e dei o Encoding.UTF8 e funcionou certo.

    Muito obrigado
    segunda-feira, 19 de janeiro de 2009 11:56
  •  

     Renan Cuoghi wrote:
    Era isso mesmo

    o problema é que estava como ansi

    salvei como utf8 e dei o Encoding.UTF8 e funcionou certo.

    Muito obrigado

     

    Excelente! :)

    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://caioproiete.net
    segunda-feira, 19 de janeiro de 2009 12:02
    Moderador
  • Olá pessoal!

    Estava com o mesmo problema do Caio e também salvei como UTF8 e resolveu meu problema.

    Tentei ANSI, como alguém sugeriu em outro blog e não funcionou.

    Saudações!!

    segunda-feira, 27 de novembro de 2017 17:07