Невозможно просмотреть данные в блокноте

1171
Hennes

У меня есть код Java, который читает файл Excel и записывает его в текстовый файл. Когда я получаю выходной текстовый файл, я вижу только такие символы в блокноте. "‷ 搮 ㄱ 〱 〰 ㄰ ㄰ 〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠〰〠" Но если я открою текстовый файл в WordPad или MS-слово, данные отображаются правильно. В чем может быть ошибка?

0
Какая кодировка текста? Matt Ball 14 лет назад 0

3 ответа на вопрос

3
Task

Ошибка заключается в использовании Блокнота. Блокнот использует первые пару байтов файла, чтобы определить кодировку. Для правильного чтения необходимо открыть файл с определенной кодировкой.

Вот ссылка, чтобы узнать вас: http://blogs.msdn.com/oldnewthing/archive/2007/04/17/2158334.aspx

Извлеченный урок: не используйте блокнот.

Try notepadd++ as a free notepad replacement (http://notepad-plus.sourceforge.net/uk/site.htm). Very handy and knows how to handle encoding properly. Also does syntax highlighting for various languages and XML. 14 лет назад 4
или ... вывести преамбулу кодировки в файл Lasse Vågsæther Karlsen 14 лет назад 0
2
Joey

Вполне вероятно, что первая часть ваших данных внешне похожа на Unicode в определенной кодировке (UTF-16). Это было проблемой в предыдущих версиях Windows, о которой можно прочитать в этой статье . Тем не менее, я думаю, что после Windows Vista эта конкретная проблема была исправлена.

Простой обходной путь - не использовать Блокнот для этих данных.

0
vafylec

Параметр командной строки:, notepad /A <filename>может использоваться для принудительного открытия файла, как если бы он имел кодировку ANSI, что в этом случае приведет к правильному открытию файла.

Проблема здесь заключается в ошибке «Буш скрыл факты», некоторые txt-файлы имеют 2 или 3-байтовую последовательность, называемую меткой порядка байтов (BOM), определяющей правильную кодировку для файла. Если в файле этого нет, Notepad определяет кодировку файла и может угадать неправильно. Нет спецификации, указывающей, что файл является ANSI, и поэтому файлы ANSI всегда рискуют быть угаданными неправильно. Некоторые текстовые редакторы предполагают, что файл является ANSI, если у него нет спецификации, и подход Notepad к определению кодировки файла может отличаться в зависимости от версии.