UTF-8 O arquivo não está mostrando caracteres chineses no Excel

1

Estou criando um arquivo CSV com codificação UTF-8.

Ele exibe os caracteres chineses corretamente se eu abri-lo usando o Notepad ++.

Ele exibe os caracteres chineses corretamente se eu abri-lo usando o Bloco de Notas.

Mas, se eu abri-lo usando o Excel, vejo valores de lixo.

Se eu abri-lo usando o Bloco de Notas, pressiono Control + S, fecho o arquivo e reabro no Excel, ele mostra os caracteres perfeitamente.

Alguma pista do que está acontecendo aqui?

Eu também tentei criar um arquivo CSV normal com codificação GB2312. Eu então usei o comando do UNIX para converter o arquivo de "GB2312" para "UTF-8"

Este comando remove todos os caracteres chineses e mostra apenas caracteres ingleses. Então, isso não é uma solução.

Por favor, sugira.

Editar -

Ele não mostra o valor do lixo, mas mostra a codificação ANSI. Por que ele escolhe a codificação ANSI por padrão. E por que depois de abrir o mesmo arquivo no Notepad / Notepad ++ ele se abre com o UTF-8.

Além disso, por que apenas o Control + s o abre no Excel corretamente.

    
por Techidiot 12.08.2015 / 23:12

2 respostas

3

No Linux, o UTF8 geralmente é salvo sem BOM , pois o BOM do UTF8 é opcional, portanto, os aplicativos podem ter problemas detecção de codificação adequada. Você pode tentar salvá-los em UTF8 com BOM ou usar UTF16.

    
por 12.08.2015 / 23:33
0

Eu estava ciente da sequência da BOM com a codificação UTF-8, mas não sabia como adicioná-la ao meu arquivo.

Agora, a sequência da lista de materiais é 0xEF, 0xBB, 0xBF, então tentei adicionar isso como texto simples, mas não funcionou. Então, adicionei os valores ASCII desses para o meu CSV e ele funciona.

O valor ASCII é =

new.text = chr $ (239) & chr $ (187) & chr $ (191) | Concatenado

Basta adicionar isso como 1ª linha e funciona!

Obrigado Chris pela sua sugestão.

    
por 13.08.2015 / 10:21