Usuário com melhor resposta
Conversão de um arquivo do formato ANSI para UTF-8

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?
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
-
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
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
-
Mesmo assim não consegui... segue o trecho do meu código...
MsgName é uma String com o nome do arquivoDim 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
-
-
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
-