Estou trabalhando em um projeto que usa um arquivo CSV fornecido pelo cliente para preencher um banco de dados. O cliente deve criar a planilha e salvá-la como um CSV a ser carregado, que é analisado em um banco de dados.
O problema é que, sempre que o cliente salva a planilha do Excel como um arquivo .csv do MS-DOS, muitos dos caracteres especiais são convertidos em pontos de interrogação "?" (símbolos como '"/). No entanto, se abrirmos o arquivo CSV e substituirmos manualmente cada? pelo caractere certo, ele funcionará bem.
O problema é que o arquivo de dados é ENORME, e não podemos fazer isso razoavelmente, então eu esperava que houvesse uma maneira de salvá-lo. Tentamos exportar como Unicode e ASCII sem sucesso. Também tentamos fazer o upload para o Google Docs e salvá-lo novamente, no entanto, ele também quebra esses caracteres.
Respostas:
Verifique se você está escolhendo salvar como
CSV (Comma Delimited)
e nãoCSV (MS-DOS)
como, pois o DOS não suporta caracteres UTF-8.fonte
Descobri que o problema de caracteres perdidos só acontece (no meu caso) ao salvar do formato xlsx para o formato csv. Tentei salvar o arquivo xlsx no xls primeiro e depois no csv. Na verdade, funcionou.
fonte
Uma solução possível é salvá-lo como
Unicode Text
(em 2007, não há certeza sobre as edições anteriores), que o salva como um arquivo de texto separado por tabulação.Esse arquivo preservou meus caracteres unicode (no meu caso, eu estava trabalhando com caracteres asiáticos ) enquanto produzia algum tipo de arquivo de texto delimitado, que você pode executar através de ferramentas externas para converter em um CSV, se necessário.
Entretanto, minha entrada não tinha guias inseridas em cada célula e não tenho certeza de como isso seria tratado.
fonte
Aqui está o que funciona para mim:
fonte
Eu tenho esse problema há algum tempo e finalmente dediquei algum tempo para descobrir isso! Consegui (aparentemente) corrigir o problema salvando como "Windows Comma Separated (.csv)". Eu tentei de um .xlsx e um .xls, ambos convertidos para um .csv muito bem. Espero que isso ajude - informe-me se surgirem problemas com esse método. Informarei se vir algo nas próximas semanas.
fonte
Solução:
Abra seu arquivo CSV no bloco de notas (você notará que diz ANSI) e salve-o novamente como UTF-8 no bloco de notas.
Então a importação deve funcionar. Se, no entanto, você a abrir novamente no Excel e apenas Salvar, não funcionará porque o Excel não pode codificar nativamente no UTF-8 aparentemente.
A outra opção é trabalhar com o seu arquivo CSV em www.LibreOffice.org (gratuito), que pode codificar corretamente em UTF-8 (embora eu ainda não tenha tentado isso).
Eu tive um problema semelhante ao importar um csv de produtos com frações para o WooCommerce, que estava sendo rejeitado por causa de "?" caracteres de erro. Isso ocorre porque o arquivo CSV não foi codificado em UTF-8. No entanto, mesmo depois de salvar o arquivo CSV no Excel com a codificação UTF-8, ele ainda não funcionou.
Depois de percorrer vários fóruns, parece que, embora o Excel tenha a opção de codificar como UTF-8 - ao SALVAR COMO CSV, o Excel o converte automaticamente novamente em ANSI, mesmo que você selecione UTF-8.
fonte
fonte
No entanto, quando salvei o arquivo .csv no formato de texto (delimitado por tabulações), os caracteres japoneses eram preenchidos perfeitamente. Depois, copiei os dados do arquivo de texto e colei em uma planilha. Funcionou bem!!!
Obrigado, Vaishakh
fonte
Encontrou a melhor solução de todos os tempos: http://woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html
Do link:
fonte
para o ™ eu encontrei uma solução. No arquivo .xlsx, substitua todos os "™" por "& tr-ade;". remova o - da substituição por. Salve o arquivo como .csv e tudo está pronto. desejo que funcione para você.
fonte
Em um computador Mac, é isso que funcionou para mim.
No Excel, escolha Salvar como e, no menu suspenso, escolha Janelas separadas por vírgula (CSV).
Apenas funciona !!!
fonte
fonte