I'm desenvolvendo uma parte de uma aplicação que's é responsável por exportar alguns dados para arquivos CSV. A aplicação sempre usa UTF-8 por causa de sua natureza multilíngüe em todos os níveis. Mas abrir tais arquivos CSV (contendo, por exemplo, diacríticos, letras cirílicas, letras gregas) no Excel não alcança os resultados esperados mostrando algo como Г"/Г¤, Г-/Г¶
. E eu não sei'não sei como forçar o Excel a entender que o arquivo CSV aberto está codificado em UTF-8. Eu também tentei especificar UTF-8 BOM EF BB BF
, mas o Excel ignora isso.
Há alguma solução?
P.S. Que ferramentas podem potencialmente comportar-se como o Excel?
ATUALIZAÇÃO
Devo dizer que os I'confundiram a comunidade com a formulação da pergunta. Quando eu estava fazendo esta pergunta, pedi uma forma de abrir um arquivo CSV UTF-8 no Excel sem problemas para um usuário, de forma fluente e transparente. Entretanto, eu usei uma formulação errada pedindo para fazê-lo automaticamente. Isso é muito confuso e choca com a automação de macros VBA. Há duas respostas para esta pergunta que eu mais aprecio: a primeira resposta de Alex https://stackoverflow.com/a/6002338/166589, e I' aceitei esta resposta; e a segunda de Mark https://stackoverflow.com/a/6488070/166589 que apareceu um pouco mais tarde. Do ponto de vista da usabilidade, o Excel parecia ter falta de um bom suporte UTF-8 CSV de fácil utilização, então eu considero ambas as respostas estão corretas, e eu aceitei a resposta do Alex's primeiro porque ele realmente afirmou que o Excel não era capaz de fazer isso de forma transparente. Isso é o que eu confundi com automaticamente aqui. A resposta do Mark's promove uma maneira mais complicada para usuários mais avançados alcançarem o resultado esperado. Ambas as respostas são ótimas, mas a do Alex's se encaixa um pouco melhor na minha pergunta não claramente especificada.
ATUALIZAÇÃO 2
Cinco meses depois da última edição, I'reparei que a resposta do Alex'desapareceu por alguma razão. Eu realmente espero que tenha sido't um problema técnico e espero que não haja mais discussão sobre qual resposta é maior agora. Então eu'estou aceitando a resposta do Mark'como a melhor resposta.
Alex está correto, mas como você tem que exportar para o csv, você pode dar este conselho aos usuários ao abrir os arquivos csv:
Desta forma, os caracteres especiais devem aparecer correctamente.