Não é possível visualizar dados no bloco de notas

0

Eu tenho um código java que lê um arquivo excel e o grava em um arquivo de texto. Quando eu obtenho o arquivo de texto de saída, eu posso ver apenas símbolos como este no bloco de notas. "‷ 搮 ㄱ 〱 〰 ㄰ ㄰ 〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠" Mas se eu abrir o arquivo de texto no wordpad ou ms-word, os dados são exibidos corretamente. Qual poderia ser o erro?

    
por Hennes 20.04.2010 / 15:10

3 respostas

3

O erro está no uso do Bloco de Notas. O Notepad usa os primeiros bytes de um arquivo para decidir qual é a codificação, você tem que abrir um arquivo com uma codificação específica para lê-lo corretamente.

Este é um link para saber mais: link

Lição aprendida: não use o bloco de notas.

    
por 20.04.2010 / 15:12
2

É bem provável que a primeira parte de seus dados pareça superficialmente com Unicode em uma determinada codificação (UTF-16). Isso tem sido um problema em versões anteriores do Windows e pode ser lido sobre neste artigo . No entanto, acho que desde o Windows Vista esse problema específico foi corrigido.

Uma solução simples seria não usar o Bloco de Notas para esses dados.

    
por 20.04.2010 / 15:12
0

A opção da linha de comando: notepad /A <filename> , pode ser usada para forçar a abertura de um arquivo como se ele tivesse a codificação ANSI, o que, nesse caso, faria com que o arquivo fosse aberto corretamente.

O problema aqui é o bug 'Bush escondeu os fatos', alguns arquivos txt têm uma sequência de 2 ou 3 bytes chamada de ordem de ordem (BOM) identificando a codificação correta para o arquivo, se um arquivo não tiver isso, o Bloco de Notas adivinha codificação do arquivo e pode adivinhar incorretamente. Não há BOM para indicar que um arquivo é ANSI e, portanto, os arquivos ANSI sempre correm o risco de serem adivinhados incorretamente. Alguns editores de texto assumem que um arquivo é ANSI, se ele não tiver um BOM, e a abordagem do Bloco de Notas para determinar a codificação de um arquivo pode ser diferente, dependendo da versão.

    
por 27.12.2016 / 01:11