sardin3s Posted June 26, 2012 at 04:40 PM Report Share #465720 Posted June 26, 2012 at 04:40 PM Preciso de uma ajuda. Tenho um ficheiro .csv exportado do Excel com formatação UTF-8. Acontece que eu ao abrir esse ficheiro noutro programa, criado por mim em vb.net, a codificação fica estranha nos assentos e outros caracteres. Depois de uma pesquisa intensa e de ter lido muito acerca de codificação de caracteres, entendi que não basta o ficheiro estar em UTF-8 por exemplo, mas sim converter todos os dados contidos nesse mesmo ficheiro. Pesquisei acerca de maneiras para converter codificação de ficheiros, mas até agora ainda não consegui nada a não ser converter a base do ficheiro, ou seja, fica em UTF-8, mas os caracteres ficam mal na mesma. É engraçado que se eu abrir o Notepad do Windows e Gravar em UTF-8 o ficheiro fica a funcionar na perfeição. Alguém me consegue ajudar? 😕 Link to comment Share on other sites More sharing options...
Caça Posted June 26, 2012 at 05:16 PM Report Share #465738 Posted June 26, 2012 at 05:16 PM Como é que estás a gerar e a abrir o ficheiro? Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
sardin3s Posted June 27, 2012 at 08:49 AM Author Report Share #465833 Posted June 27, 2012 at 08:49 AM Como é que estás a gerar e a abrir o ficheiro? O ficheiro é exportado do Excel, ou seja é um livro do Excel exportado para CSV com codificação em UTF-8 (já confirmei nas opções web do Excel). Para abrir o ficheiro estou a utilizar o seguinte código: If File.Exists(nomeArquivo) = True Then Dim objReader As New StreamReader(nomeArquivo) Do While objReader.Peek() <> -1 linhaTexto = objReader.ReadLine() arrrayDeLinhas = Split(linhaTexto, Delimitador) row = dt.NewRow row.ItemArray = arrrayDeLinhas dt.Rows.Add(row) Loop DataGridView2.DataSource = dt Existe alguma linha mal programada que faz com que altere a codificação? Link to comment Share on other sites More sharing options...
Caça Posted June 27, 2012 at 09:39 AM Report Share #465857 Posted June 27, 2012 at 09:39 AM Força a abertura em UTF8 Dim objReader As New StreamReader(nomeArquivo, Text.Encoding.UTF8) Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
sardin3s Posted June 27, 2012 at 10:03 AM Author Report Share #465871 Posted June 27, 2012 at 10:03 AM Dá erro: Error 1 'Encoding' is not a member of 'String'. Tenho que importar algum namespace? Link to comment Share on other sites More sharing options...
Caça Posted June 27, 2012 at 10:07 AM Report Share #465875 Posted June 27, 2012 at 10:07 AM Não, o encoding está dentro de System System.Text.Encoding.UTF8 Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
sardin3s Posted June 27, 2012 at 10:29 AM Author Report Share #465887 Posted June 27, 2012 at 10:29 AM Com o system já não dá erro, no entanto fica na mesma Dim objReader As New StreamReader(nomeArquivo, System.Text.Encoding.UTF8) Fica um printscreen da maneira como me aparecem por exemplo os acentos: http://img6.imageshack.us/img6/286/errocodificacao.png Eu até postava o código todo, mas é muito grande e tinha que estar a alterar muita coisa para o poder postar... Estou a desesperar 😞 Link to comment Share on other sites More sharing options...
sardin3s Posted June 28, 2012 at 04:32 PM Author Report Share #466232 Posted June 28, 2012 at 04:32 PM (edited) Alguém me consegue ajudar ?? Edited July 3, 2012 at 10:30 AM by sardin3s Link to comment Share on other sites More sharing options...
sardin3s Posted July 4, 2012 at 06:54 PM Author Report Share #467315 Posted July 4, 2012 at 06:54 PM Problema resolvido. Tão simples e tão inapropriado, mas o código que faz funcionar bem a codificação é: Dim objReader As New StreamReader(nomeArquivo, System.Text.Encoding.Default Tópico Encerrado. Obrigado pela ajuda Caça 😉 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now