Como obter o Excel para interpretar um arquivo UTF-8 com o separador de campo personalizado corretamente?

0

Estou mantendo uma ferramenta PHP legada que gera arquivos csv com delimitadores personalizados.

Isso estava bom antes, porque os arquivos eram lidos apenas por programas. Mas agora que alguém tenta abri-los com o Excel, seria necessário usar o bastante desatento " importação de arquivo de texto personalizado ", através da aba de dados. Para CADA arquivo.

Meu primeiro problema foi que o Excel não reconhece a codificação (perdendo caracteres acentuados, etc.).
Eu adicionei uma lista de materiais para que o Excel perceba seu UTF-8 , que funcionou

Meu segundo problema é que os arquivos usam um delimitador específico (atualmente, "¶"). Eu me lembrei de um truque para isso: adicionando "sep =," na primeira linha de um arquivo csv informa ao Excel que você estão usando o caractere ',' como separador personalizado.

Agora, as partes divertidas:

  • Adicionar uma lista de materiais e um separador personalizado parece ser demais para o Excel. Parece que eu tenho que escolher entre abrir um arquivo UTF-8 e abrir com um separador personalizado, não ambas as opções de uma só vez (£ $% §¤ @!)
    i.e. Quando o UTF-8 é reconhecido, os campos não são separados, quando são divididos corretamente, a codificação é aparafusada
  • O Excel não parece lidar com muitos outros separadores "personalizados" que "," e ";". O melhor personagem que eu encontrei foi o de back-quote (').
    Primeiro pensei que poderia ser porque os outros personagens que eu estava usando eram (não reconhecidos) UTF-8, mas nem funcionava com um simples "♠", que é o char # 6 da tabela base ASCII. / li>

Parece que minha melhor opção até agora seria mergulhar no código e tentar adicionar opções para especificar um parâmetro "qualifier" para incluir meus campos, o que pode me permitir usar o padrão (" ; ") char como separador, mas tenho vontade de andar em ovos modificando esse código, que está em produção há anos.
e eu nem tenho certeza se não vou ter problemas com o qualificador em si.

Alguém tem uma solução mais confiável?

    
por Balmipour 10.01.2018 / 16:28

0 respostas