Zainstalowałem nową powłokę bash na Windows 10. Używam jej razem z ZSH. Jednak żaden z znaków utf8 nie działa, pojawiają się jako kwadratowe bloki. Jak włączyć kodowanie znaków utf8 w powłoce jako domyślne? Czy to jest możliwe?
36
Zainstalowałem nową powłokę bash na Windows 10. Używam jej razem z ZSH. Jednak żaden z znaków utf8 nie działa, pojawiają się jako kwadratowe bloki. Jak włączyć kodowanie znaków utf8 w powłoce jako domyślne? Czy to jest możliwe?
chcp 65001
aby zmienić stronę kodową na UTF-8 i zmienić czcionkę na ConsolasSimSun-Ext B
czcionkę i wszystkie znaki są wyświetlane poprawnie.Odpowiedzi:
Kliknij prawym przyciskiem myszy pasek tytułu u góry okna bash, wybierz właściwości wpisu. W oknie otwierającym znajduje się zakładka, w której możesz zmienić czcionkę. Zmieniłem czcionkę na „Source Code Pro” i rozmiar 14.
Wygląda dobrze i wszystkie znaki utf-8 działają.
źródło
Aby dodać do odpowiedzi Doctorj, istnieje kilka czcionek zainstalowanych domyślnie, których można użyć (w powłoce bash systemu Windows 10).
Testowane języki: bułgarski, ukraiński, chiński uproszczony, chiński tradycyjny, duński, francuski, niemiecki, włoski, japoński, kazachski, koreański, macedoński, mongolski, norweski, polski, portugalski, rosyjski, serbski, hiszpański, szwedzki.
Następujące domyślne czcionki wyświetlają wszystkie zaobserwowane znaki:
Zarówno MS Gothic, jak i NSimSun
SumSun-ExtB (czcionka rastrowa):
W przypadku dowolnej z tych czcionek, zarówno wiersza polecenia, jak i programu PowerShell, po kliknięciu znaków spoza zestawu ASCII zdarzają się dziwne rzeczy, choć po podświetleniu tekst wraca do normy.
Aby zainstalować czcionkę: Pamiętaj, że musisz zmienić czcionkę używanej powłoki Windows, takiej jak Wiersz polecenia lub PowerShell, a nie Linux poprzez bash. Ten link opisuje, które czcionki mogą być używane w wierszu polecenia (czcionki Monospace oraz jak zainstalować i wybrać czcionkę w wierszu polecenia): Dodaj czcionki do wiersza polecenia
Aby uzyskać informacje na temat instalowania czcionek za pomocą wiersza polecenia w systemie Windows, zobacz to pytanie i odpowiedzi.
(Uwaga: Nie mam jeszcze wystarczającej reputacji, aby opublikować linki).
źródło
Możesz wypróbować DejaVu Sans Mono - to działa dla mnie.
źródło
To naprawdę bardziej komentarz niż odpowiedź, ale ponieważ SE nie pozwala mi na komentowanie ...
Nie podałeś wystarczających informacji. Unicode zapewnia ponad milion możliwych znaków, z których zdefiniowano ponad 100 000. (Pozostałe mają zastosowanie, gdy kontaktujemy się z istotami pozaziemskimi lub bardziej prawdopodobne w przypadku systemów pisania Ziemian, które nie zostały jeszcze zakodowane.) Są one podzielone na około 150 skryptów: łaciński, cyrylica, arabski, chiński ... Żadna czcionka nie będzie aby dostarczyć glify (zdjęcia postaci) dla wszystkich tych postaci. (Istnieje jeden lub dwa, które dostarczają pudełko z kodem w środku, ale nie tego chcesz.)
Jak powiedział grawitacja ponad dwa lata temu, jeśli otrzymujesz pudełko, w którym oczekujesz jednego znaku, oznacza to, że Twoja aplikacja już wyświetla Unicode (prawdopodobnie kodowanie UTF-8 w Unicode). Brakuje czcionki, która dostarcza glify do wszystkich skryptów, które chcesz wyświetlić. Jeśli wyświetlasz rosyjski, potrzebujesz czcionki ze znakami cyrylicy; jeśli chcesz wyświetlić chiński, potrzebujesz czcionki z tymi znakami. (Większość takich czcionek wyświetla również znaki łacińskie - takie, których używamy w języku angielskim - ale niekoniecznie ładne).
Więc moje pytanie dotyczy: jaki skrypt próbujesz wyświetlić? Dopóki się tego nie dowiemy, wszystkie odpowiedzi będą odgadnąć.
BTW, niektóre skrypty są dość skomplikowane i tylko niektóre programy wyświetlają je poprawnie, nawet jeśli masz odpowiednią czcionkę. Wśród nich są birmańskie, niektóre skrypty indyjskie (na przykład Devanagari) i arabski (napisany od prawej do lewej i zawierający znaki, które powinny być wyświetlane inaczej w zależności od sąsiednich znaków).
źródło