Por que você precisa de fontes diferentes para idiomas diferentes?
CSV significa valores separados por vírgula. E é simplesmente isso. É o texto, com valores separados por vírgulas (ou, em algumas versões, ponto-e-vírgula ou outros delimitadores). É basicamente um arquivo de texto simples e pode ser aberto e editado com um editor de texto.
Formatos Rich Text podem incluir informações meta, como qual fonte usar. Um arquivo de texto simples realmente contém texto e nada mais . O formato CSV não fornece nenhum local onde as informações de fonte possam ser armazenadas.
Embora um arquivo CSV não possa conter informações de fontes, ele pode, em princípio, estar em qualquer codificação de texto 1 . Assim, em princípio, seu arquivo CSV poderia ser salvo em uma codificação Unicode, como UTF-8 ou UTF-16. Em princípio, isso funcionará. As codificações Unicode cobrem tudo o que qualquer outra codificação abrange. Se for texto e puder ser representado em um computador, ele poderá ser representado em Unicode. Seu editor de CSV decidirá qual fonte usar e, provavelmente, se for decente, selecione uma que seja adequada. Por exemplo, se o arquivo contiver caracteres que a fonte padrão não inclui, ele usará automaticamente uma fonte diferente para esses caracteres.
Na prática, isso provavelmente funcionará com o Libre Office ou o OpenOffice, mas o Microsoft Excel não gosta de arquivos CSV em outras codificações além do Latin-1 e não joga bem com eles. Isso é uma falha no Microsoft Office.
Solução alternativa 1: Use o Libre Office ou o OpenOffice.
Solução 2: Gere um arquivo Unicode 2 delimitado por tabulações, como sugerido por Matt Champion .
1 Bem, qualquer codificação de texto que inclua um caractere de vírgula. ASCII inclui uma vírgula, e a grande maioria das outras codificações de texto são superconjuntos de ASCII, mas há uma ou duas codificações por aí que não incluem uma vírgula. SignWriting binário é um exemplo.
2 O Unicode é, na verdade, uma ampla família de codificações, em vez de uma codificação. O que a Microsoft chama de "Unicode" é, na verdade, UTF-16 LE, que é uma das codificações Unicode.