Ответ 1
Шрифт Courier New
поддерживает иврит и может быть добавлен в командную строку. По умолчанию шрифты - консола, lucida, растровые, ни один из них не поддерживает иврит. Поэтому добавьте Courier New в командную строку.
Это взлом реестра, чтобы сделать это
http://www.techrepublic.com/blog/windows-and-office/quick-tip-add-fonts-to-the-command-prompt/
Это хороший пример того, как устанавливать шрифты, но я должен удалить много этих записей, потому что большинство из них не добавилось в cmd, потому что cmd их не поддерживал.
Lucida и Consolas являются дефолтами.
Растр по умолчанию не указан здесь, может быть, потому что это TTF
Из всего этого я попытался добавить, только 3 добавлены (поддерживаются cmd)
Courier New, DejaVu Sans Mono, Droid Sans Mono
DejaVu Sans Mono и Droid Sans Mono доступны для загрузки, поддерживаются cmd, могут иметь хорошую поддержку/символы в Unicode, но не включают иврит
У меня
Consolas <-- default
Courier New <--- added
DejaVu Sans Mono <-- added
Droid Sans Mono <-- added
Lucida Console <-- default
Raster Fonts <-- default
Обычными ивритскими шрифтами являются Мириам и Дэвид, но они не могут быть добавлены в командную строку.
Для записи Babelmap может отображать все шрифты в вашей системе, которые поддерживают иврит, например. в babelmap-click fonts..font cover, затем введите 05D0 (это алеф). Я думаю, что все эти шрифты существуют при установке по умолчанию Windows 7
Aharoni, Arial, Courier New, David, FrankRuehl, Gisha, Levenim MT, Lucida Sans Unicode, Microsoft Sans Serif, Miriam, Miriam Fixed, Narkisim, Rod, Segoe WP, Tahoma, Times New Roman
Но большинство или все эти шрифты с ивритом не поддерживаются в командной строке, кроме Courier New. Фактически, полная остановка шрифтов не поддерживается в командной строке, даже "раз новый роман" (потому что "раз новый роман" не является монослоем/фиксированной шириной и что один из нескольких критериев для него поддерживается, другие критерии кажутся более неясными).
Итак, теперь вы можете добавить и выбрать Courier New для использования в командной строке.
И поэтому вы можете вставлять символы юникода в cmd, если выбранный шрифт поддерживает его.
Чтобы скопировать/вставить, нажмите кнопку "Копировать" в charmap
Теперь он в буфере обмена
Чтобы вставить его в командную строку, в win7 вставить в командной строке не ctrl-v. Вы щелкаете правой кнопкой мыши и выбираете пасту. (или в режиме быстрого вызова, затем просто щелкните правой кнопкой мыши)
Это главное.
Дополнительно
Часто в окнах можно использовать блокнот и карту символов.. но нужно знать некоторые ограничения с ними.
Карта символов отображает первые 65536 символов юникода, когда выбранный вами шрифт поддерживает его, а карта символов показывает код UTF-16. Это нормально, вы все равно можете вставлять карту символов в окно cmd.exe, но вы должны знать, что команды, запущенные в cmd.exe, и каналы не поддерживают utf-16. Таким образом, вы можете использовать карту символов, найти символ, например. aleph 05d0, но стоит посмотреть на символ http://www.fileformat.info/info/unicode/char/05d0/index.htm и увидеть, что, хотя код utf-16 равен 05d0, utf-8 код - d790. Команда команды и файла xxd полезна для просмотра реального содержимого файла и определения типа файла.
Блокнот немного ограничен, когда дело доходит до unicode или любого символа в наборе символов Юникода, код UTF16 которого → FF. И cmd немного ограничен в отношении некоторых команд типа "type", а также для каналов и перенаправления.
Если вы используете cmd.exe, вам действительно нужны трубы для работы. Труды соков важны.
Трубы ограничены кодировками, которые могут быть указаны командой CHCP.
(Обратите внимание: если CHCP сообщает вам, что вы находитесь на определенной кодовой странице, например 850, она сообщает вам кодировку ввода. Если вы запустите команду chcp 850, она изменит кодировку ввода и вывода. Обычно они одинаковы. Это проще, если они одинаковы. Но если вы использовали какую-либо другую программу для изменения кодировки cmd, например, у С++-компилятора есть переключатель, который его изменяет, тогда лучше всего изменить его с помощью chcp, чтобы вы знали, что оба кодирования установлены).
Существует CHCP 1200 (UTF-16LE) и 1201 (UTF-16BE), но ни один из них не поддерживается, если вы попробуете его, он скажет неверную кодовую страницу (проверенную в win7). CHCP не поддерживает UTF-16 (он не поддерживает UTF16LE или UTF16BE). Существует CHCP 65001 (это UTF-8 без спецификации). И есть CHCP 862 (старомодный способ, как в дни MSDOS, кодирования иврита, о котором я упоминал)
Команда типа поддерживает UTF16LE, как и блокнот (какой блокнот вызывает Unicode, UTF-16 LE), но каналы и перенаправление не поддерживают это. Команда type также поддерживает любую кодовую страницу, указанную/поддерживаемую CHCP. Таким образом, типы поддерживают 862 или 65001.
Итак, вы можете использовать блокнот, чтобы сохранить его как UTF8 (который есть с спецификацией), а затем скриптируйте, чтобы удалить спецификацию. (Это немного перехитрить).. Или вы могли бы использовать блокнот, сохранить его как Unicode UTF 16LE.. Но тогда вы не можете подавать в суд на трубы.. (что плохо). Самое простое занятие - использовать текстовый редактор вроде notepad2 или notepad ++, который поддерживает UTF8 без спецификации.
Или, если вы все делаете с cmd, вы можете использовать 862 или 65001. Хотя многие текстовые редакторы могут не поддерживать хорошую поддержку 862. Таким образом, вы можете предпочесть 65001.
Если вы хотите записать какой-либо файл в блокнот и у него есть символ, который больше, чем в UTF16, называется \uFF, и вы хотите запускать команды в cmd.exe в этом файле, тогда некоторые команды (например, тип команда), будут иметь проблемы, если вы не будете учитывать то, что поддерживается.
Блокнот поддерживает UTF-16BE, UTF-16LE и UTF-8 с спецификацией. Это нехорошо. И нет необходимости возиться с xxd и sed или другими командами, чтобы удалить спецификацию. Если у вас есть файл с так называемым символом юникода, символ за пределами обычного диапазона ascii. Симвul > UTF-16\uFF, как показано символьной картой как > \uFF, затем используйте Notepad2 или notepad ++
Тип поддерживает UTF16LE и любую кодировку, установленную CHCP, например. 65001 или 862.
Трубы и перенаправление идут на все, что установлено CHCP.
Codepage 862 является старым, поэтому Codepage 65001 - хороший способ пойти.
xxd и файл полезны для просмотра того, как кодируется файл, который может быть полезен, если у вас есть проблемы. Но не обязательно.
Итак, если вы хотите написать файл для использования в CMD, и у него есть некоторые символы Unicode, в то время как у вас есть такие команды, как xxd и sed, которые могут быть использованы для удаления спецификации и других команд для этого. Самый простой способ сделать такой файл в текстовом редакторе - использовать текстовый редактор, например notepad2 или notepad ++, который поддерживает UTF8 без спецификации.
Получение отображения на иврите может быть самым важным, что нужно сделать сначала, как описано выше. И следующая вещь - возможность сохранять файлы в текстовом редакторе, который вы можете отображать, например. 'тип'.
И если вы когда-нибудь захотите скопировать из командной строки, если не в режиме быстрого вызова, затем щелкните правой кнопкой мыши, затем выберите значок, затем выберите его, затем нажмите ENTER. И чтобы вставить правый клик и выбрать вставить.
Еще одна дополнительная точка -
По-видимому, в chcp 65001 есть ошибки, в которых некоторые пакетные файлы не запускаются, и, возможно, некоторые C-программы тоже не будут работать. Как использовать символы Unicode в командной строке Windows? И я даже видел резкий сбой компилятора cd, когда cmd находится в кодовой странице 65001 (хотя можно обвинить c-компилятор c, можно также обвинить 65001) Почему сбой csc.exe, когда я последний раз оставил выходную кодировку как UTF8?
Примечание. В более ранней версии этого ответа были некоторые примеры командной строки, но они были излишне сложными. Я мог бы в какой-то момент добавить некоторые команды, демонстрирующие то, что я описывал, но это довольно тривиально.