Я установил новую оболочку Bash на Windows 10. Я использую его вместе с ZSH. Однако ни один из символов utf8 не работает, они отображаются в виде квадратных блоков. Как включить кодировку utf8 в оболочке по умолчанию? Это возможно?
36
chcp 65001
чтобы изменить кодовую страницу на UTF-8 и изменить шрифт на ConsolasSimSun-Ext B
шрифт, и все символы отображаются правильно.Ответы:
Щелкните правой кнопкой мыши на строке заголовка в верхней части окна bash, выберите свойства записи. В открывшемся окне есть вкладка, где вы можете изменить шрифт. Я изменил шрифт на «Исходный код Pro» и размер 14.
Выглядит хорошо, и все символы UTF-8 работают.
источник
Чтобы добавить к ответу Doctorj, есть пара шрифтов, которые установлены по умолчанию, которые вы можете использовать (в оболочке Windows 10 bash).
Испытанные языки: болгарский, украинский, упрощенный китайский, традиционный китайский, датский, французский, немецкий, итальянский, японский, казахский, корейский, македонский, монгольский, норвежский, польский, португальский, русский, сербский, испанский, шведский.
Следующие шрифты по умолчанию отображают все наблюдаемые символы:
И MS Gothic, и NSimSun
SumSun-ExtB (растровый шрифт):
С любым из этих шрифтов, как с командной строкой, так и с PowerShell, происходят странные вещи, когда вы нажимаете на символы, не входящие в ASCII, хотя при выделении текста все возвращается к нормальному состоянию.
Чтобы установить шрифт: Обратите внимание, что вам нужно изменить шрифт для используемой оболочки Windows, такой как командная строка или PowerShell, а не для Linux через bash. Эта ссылка описывает, какие шрифты можно использовать в командной строке (моноширинные шрифты, а также как установить и выбрать шрифт для командной строки). Добавление шрифтов в командную строку
Информацию об установке шрифтов через командную строку в Windows смотрите в этом вопросе и ответах.
(Примечание: у меня пока недостаточно репутации, чтобы публиковать ссылки).
источник
Вы можете попробовать DejaVu Sans Mono - у меня это работает.
источник
Это действительно больше комментарий, чем ответ, но так как SE не позволяет мне комментировать ...
Вы не предоставили достаточно информации. Юникод предоставляет более миллиона возможных символов, из которых более 100 000 были определены. (Остальные предназначены для связи с инопланетянами, или, скорее всего, для систем письма землян, которые еще не были закодированы.) Они поделены между примерно 150 сценариями: латинским, кириллическим, арабским, китайским ... шрифт не идет предоставить глифы (изображения символов) для всех этих символов. (Есть один или два, которые снабжают коробку с точкой кода внутри, но это не то, что вы хотите.)
Как уже было сказано два года назад, если вы получаете коробку, в которой вы ожидаете один символ, то ваше приложение уже отображает Unicode (предположительно кодировку UTF-8 Unicode). Вам не хватает шрифта, который предоставляет глифы для любых сценариев, которые вы хотите отобразить. Если вы отображаете русский язык, вам нужен шрифт с кириллическими символами; если вы хотите отобразить китайский, то вам нужен шрифт с этими символами. (Большинство таких шрифтов также отображают латинские символы - тип, который мы используем для английского языка - но не обязательно симпатичный.)
Поэтому мой вопрос к вам: какой сценарий вы пытаетесь отобразить? Пока мы не знаем, все ответы будут угадывать.
Кстати, есть некоторые довольно сложные сценарии, и только некоторые программы будут отображать их правильно, даже если у вас есть правильный шрифт. Среди них бирманский, некоторые индийский алфавит (например, деванагари) и арабский (который написан справа налево и имеет символы, которые должны отображаться по-разному в зависимости от соседних символов).
источник