none
Conversão de um arquivo do formato ANSI para UTF-8 RRS feed

  • Pergunta

  • Eu tenho uma aplicação em VB.Net que recebe um arquivo .csv e separa as informações para gerar um outro arquivo .xml, porém estes arquivos .csv vem com a formatação (que eu creio que seja) ANSI, pois quando importo para o Visual Studio as caracteres especiais (ç,á,Á,ã,etc...), são substituídas por pontos de interrogação, pelo que eu encontrei, parece que precisarão ser convertidas para UTF-8. Como é possível faze-lo?
    segunda-feira, 10 de novembro de 2014 13:11

Respostas

  • Creio que esteja utilizando o StreamReader para ler o arquivo, basta setar o encoding para UTF-8 dessa maneira:

    ' Abre o arquivo utilizando o encoding UTF8
    
    Dim reader As New StreamReader("C:\SeuArquivo.txt", Encoding.UTF8)

    • Sugerido como Resposta Mr. GMSOFT segunda-feira, 10 de novembro de 2014 13:14
    • Marcado como Resposta Gustavo A F Souza segunda-feira, 10 de novembro de 2014 14:14
    segunda-feira, 10 de novembro de 2014 13:14
  • Mr. GMSOFT,

    Entendi!! fui testar com os outros formatos! consegui com o "Default"

    Dim reader As New StreamReader("C:\tmp\" & MsgName & ".csv", Encoding.Default)
                    Dim line As String
                    line = reader.ReadToEnd()
                    Console.WriteLine(line)
    Muito obrigado, por abrir minha cabeça!!! hahahaha
    • Marcado como Resposta Gustavo A F Souza segunda-feira, 10 de novembro de 2014 14:13
    segunda-feira, 10 de novembro de 2014 13:45

Todas as Respostas

  • Creio que esteja utilizando o StreamReader para ler o arquivo, basta setar o encoding para UTF-8 dessa maneira:

    ' Abre o arquivo utilizando o encoding UTF8
    
    Dim reader As New StreamReader("C:\SeuArquivo.txt", Encoding.UTF8)

    • Sugerido como Resposta Mr. GMSOFT segunda-feira, 10 de novembro de 2014 13:14
    • Marcado como Resposta Gustavo A F Souza segunda-feira, 10 de novembro de 2014 14:14
    segunda-feira, 10 de novembro de 2014 13:14
  • Mr. GMSOFT,

    Mesmo assim não consegui... segue o trecho do meu código...

    MsgName é uma String com o nome do arquivo

    Dim reader As New StreamReader("C:\tmp\" & MsgName & ".csv", Encoding.UTF8)
                    Dim line As String
                        line = reader.ReadToEnd()
                        Console.WriteLine(line)
                Next

    • Marcado como Resposta Gustavo A F Souza segunda-feira, 10 de novembro de 2014 14:13
    • Não Marcado como Resposta Gustavo A F Souza segunda-feira, 10 de novembro de 2014 14:14
    segunda-feira, 10 de novembro de 2014 13:32
  • Veja se seu CSV já esta com esses caracteres pois se ja estiver não adianta por que não vai converter 
    segunda-feira, 10 de novembro de 2014 13:33
  • Mr. GMSOFT,

    Entendi!! fui testar com os outros formatos! consegui com o "Default"

    Dim reader As New StreamReader("C:\tmp\" & MsgName & ".csv", Encoding.Default)
                    Dim line As String
                    line = reader.ReadToEnd()
                    Console.WriteLine(line)
    Muito obrigado, por abrir minha cabeça!!! hahahaha
    • Marcado como Resposta Gustavo A F Souza segunda-feira, 10 de novembro de 2014 14:13
    segunda-feira, 10 de novembro de 2014 13:45
  • blz, não esquece de marcar a resposta
    segunda-feira, 10 de novembro de 2014 13:56