1

У меня проблема при выполнении команды "type" для файла, который содержит региональные символы. Хотя я вижу файл правильно с помощью блокнота или любого другого редактора, при попытке ввести команду "type file" из командной строки региональные символы отображаются неправильно.

Я пытался выполнить chcp 850 или chcp 1250, но не работает. Выполнение cmd.exe /u также не работает.

Можете ли вы помочь мне, пожалуйста? Спасибо

2 ответа2

4

Кодовая страница

Вы должны установить кодовую страницу, используемую в команде `chcp ', в соответствии с кодировкой, используемой в файле.

Если Блокнот распознает файл, он должен быть в одной из кодировок, которые Блокнот распознает:

  • ANSI ................. Обычно Windows Latin-1, кодовая страница 1252.
  • Unicode .............. UTF-16 Little Endian с меткой порядка байтов (BOM).
  • Unicode Big-endian ... UTF-16 с прямым порядком байтов и спецификацией.
  • UTF-8................. UTF-8 с спецификацией.

Таким образом, если файл был закодирован в UTF-8 Unicode, вы можете использовать chcp 65001

Как заметил прокол ниже: «Кодовые страницы UTF-16 не поддерживаются в окнах командной строки». Поэтому для отображения данных из файлов UTF-16 лучшее, что вы можете сделать, - это, вероятно, преобразовать такие файлы в UTF-8 с помощью Блокнота или другого подходящего инструмента (возможно, iconv или перекодировать).

Шрифт

Вам также следует установить шрифт окна командной строки на шрифт, содержащий определенные символы, которые вам нужно отобразить. Например, Lucida Console, если необходимо. Вы можете сделать это из контекстного меню (щелчок правой кнопкой мыши) в строке заголовка окна, выбрать опцию "Свойства".

Если у вас моноширинный шрифт, набор символов которого включает в себя нужные вам символы, вы можете адаптировать эти инструкции, чтобы окно командной строки использовало этот шрифт.

пример

Смотрите также

См. Связанный вопрос https://stackoverflow.com/questions/4572393/perl-unicode-glitch

2

Использование cmd /a type filename переведет файл из Unicode в ANSI.

cmd /u type filename может преобразовать файл ASCII в файл Unicode, используя текущую кодовую страницу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .