O que causa 3 caracteres especiais após a conversão para UTF-8?

7

Uma das etapas do nosso trabalho envolve salvar uma planilha do MS Excel como CSV e, em seguida, usar o UltraEdit para converter o CSV em UTF-8 antes de importá-lo para um sistema de servidor.

O problema é que, após a conversão para UTF-8, o arquivo sempre contém 3 caracteres sem sentido no início do arquivo:

ENTITY_ID;FIELD2;FIELD3,FIELD4;(etc.)
value1;value2;value3;value4;(etc).

Observações:

  • Como você pode ver, há 3 caracteres que são ruído e fazem com que o servidor rejeite a importação de CSV porque a primeira coluna não é denominada "ENTITY_ID". Os personagens são sempre os mesmos.

  • Esses caracteres não são exibidos após a conversão, mas quando fechamos e reabrimos o arquivo no UltraEdit novamente, vemos os caracteres.

  • Esses caracteres são visíveis apenas no UltraEdit. O bloco de notas do Windows ou o Notepad ++ não os mostra.

  • Usar o Notepad ++ para converter o CSV para UTF-8 produz a mesma saída exata: um arquivo com os mesmos 3 caracteres ímpares no começo. A única diferença é que o Notepad ++ não exibe esses caracteres, mesmo depois de fechar e reabrir o arquivo.

Solução alternativa:
Nós reabrir o arquivo no UltraEdit, excluir o ruído e, em seguida, o servidor aceita a importação de CSV.
Essa etapa precisa ser eliminada, corrigindo-se o problema real.

Pergunta: Como podemos evitar esses 3 caracteres?

    
por Torben Gundtofte-Bruun 18.01.2012 / 12:40

1 resposta

8

Essa é a marca de pedido de byte , codificada como UTF-8. Diga ao seu editor para não adicioná-lo no início, ou use um decodificador real em seu sistema de servidor.

    
por 18.01.2012 / 12:44