Windows 10 bash terminalinde UTF8 karakterleri


36

Yeni bash kabuğunu Windows 10'a yükledim. ZSH ile birlikte kullanıyorum. Ancak, utf8 karakterlerinin hiçbiri çalışmıyor, kare bloklar gibi görünüyorlar. Utf8 karakter kodlamasını kabukta varsayılan olarak nasıl etkinleştiririm? Mümkün mü?


5
Her karakter bir kare blok olarak görünüyorsa , UTF-8 zaten çalışıyor; Unicode desteği olmayan bir font.
Grawity

kullanmak chcp 65001UTF-8'e değişiklik kod sayfası ve Consolas yazı tipini değiştirmek
phuclv

SimSun-Ext BYazı tipine geçtim ve tüm karakterler doğru görüntüleniyor.
Ryan Foley

5
@grawity uubntu mono kullanıyordum ve şimdi konsollara geçtim. Boş bir kare kutu yerine, içinde soru işareti olan bir kare kutu alıyorum. Chcp önerisini de denedim, ancak özellikleri kontrol ettiğimde zaten UTF-8 kodlamasına ayarlanmış.
Ortix92

2
Bu sorunun hala çözülmediğini ve
ZSH

Yanıtlar:


12

Bash penceresinin üstündeki başlık çubuğuna sağ tıklayın, giriş özelliklerini seçin. Açılan pencerede yazı tipini değiştirebileceğiniz bir sekme var. Fontu "Source Code Pro" ve 14 ebat olarak değiştirdim.

İyi görünüyor ve tüm utf-8 karakterleri çalışıyor.


Doğru cevap bu. UTF8 desteğini ne şekilde istersen fontu seçebilirsin. Menlo'yu kurdum ve sonra bash seçeneklerinde değiştirmeyi unuttum, dürüstçe bile düşünmedim.
StalkAlex

Pencerelerde (Source Code Pro dahil) tüm varsayılan seçenekleri ve onay işareti karakterini (✔) denediğimi, lütfen @ user3599934 tarafından önerilen "DejaVu Sans Mono" yazı tipiyle çalıştı!
Sevron

10

Doctorj'in yanıtına eklemek için, kullanabileceğiniz varsayılan olarak yüklenen birkaç yazı tipi vardır (Windows 10 bash kabuğunda).

Test edilen diller: Bulgarca, Ukraynaca, Basit Çince, Geleneksel Çince, Danca, Fransızca, Almanca, İtalyanca, Japonca, Kazakça, Korece, Makedonca, Moğolca, Norveççe, Lehçe, Portekizce, Rusça, Sırpça, İspanyolca, İsveççe.

Aşağıdaki varsayılan fontlar, gözlenen tüm karakterleri görüntüler:

  • MS Gotik
  • NSimSun
    • Tüm Kazakça görünmüyor.
  • SimSun-ExtB (raster yazı tipi) - Önerim

MS Gotik ve NSimSun Hem

  • Latin olmayan CJK dili (Çince, Japonca, Korece) dillerini (Makedonca, Kazakça, Bulgarca) açıklar.
  • Aksanlı Latin karakterleri (á, é) tuhaf bir dikey kayma vardır.
  • En az bir Makedon karakteri göstermedi.

SumSun-ExtB (raster yazı tipi):

  • Raster yazı tiplerinin iyi görünmeyebileceğini söyleyen bir uyarı mesajı var.
  • Çoğu karakter koyu renkte görüntülenir (düşük ekran parlaklığıyla ilgili bir sorun olabilir).
  • ASCII olmayan karakterler, ASCII karakterleriyle karşılaştırıldığında parlaktır (olası çözüm, kalın seçeneğini kullanın).
  • Tüm dillerin karakterleri birbirine yakındır (kelimeler arasındaki boşluğu görmek daha kolaydır).
  • Latin olmayan CJK dilleri için daha güvenilir görünüyor.

Bu yazı tiplerinden herhangi biriyle hem Komut İstemi hem de PowerShell, ASCII olmayan karakterleri tıklattığınızda garip şeyler olur, ancak metni vurguladığınızda normale döner.

Bir yazı tipi yüklemek için: Kullanmakta olduğunuz Windows kabuğu için yazı tipini değiştirmeniz gerektiğini unutmayın; örneğin, komut satırında veya PowerShell gibi, Linux'ta bash yoluyla değil. Bu link, Komut İstemi'nde hangi fontların kullanılabileceğini açıklar (monospace fontları ve Komut İstemi için font nasıl yüklenir ve seçilir): Komut İstemine font ekleme

  • Kayıt Defteri Düzenleyicisi'ni açın ("regedit" çalıştırın)
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Console \ TrueTypeFont klasörünü bulun
  • Sağ tıklayın (veya Düzenle) -> Yeni -> Dize Değeri
  • Yazı tipini en sonuncusundan bir 0 taneyle (örneğin "000") adlandırın.
  • Girişi sağ tıklayın ve "Değiştir ..." i seçin
  • Yazı tipi veya OTF dosyasının adını (.otf olmadan) girin.

Yazı tiplerini Windows komut satırından yükleme hakkında bilgi için, bu soruya ve cevaplara bakın.

  • "Source Code Pro" programını kurmayı denedim ama yazı tiplerinde görünmüyordu.
  • DejaVu Sans Mono'yu kurdum ve çoğu dilde çalışıyor fakat CJK için hiç çalışmıyor.
  • Google’ın Noto monospace fontunu yükledim ve çalıştı, ancak CJK için değil. Ayrıca, özellikle CJK için tek alan desteği bulunmadığını söylüyorlar.
  • Google’ın Inconsolata’sını yükledim ve denemeye değmezdi.
  • GNU FreeFont'u (FreeMono) kurdum ve çalıştı, ancak CJK için değil.
  • Vazgeçtim ve SimSun-ExtB'e geri döndüm.

(Not: Bağlantıları göndermek için henüz yeterli bir üne sahip değilim).


6

DejaVu Sans Mono'yu deneyebilirsiniz - bu benim için çalışıyor.


11
Bu OP'nin sorununun çözümü olsa da, yüksek kaliteli bir cevaptan çok bir ipucu. Bu konuda talimatlar vererek iyileştirilebilir: 1) Windows 10 Bash terminali için yazı tipinin nasıl değiştirileceği; 2) söz konusu fontun nasıl kurulacağı (varsayılan olarak her Windows 10'da olmadığı sürece - Linux'um, bilmiyorum).
Kamil Maciorowski

1
Ubuntu Mono'yu daha önce kullandım ve onunla sorunum vardı. DejaVu Sans Mono sorunu çözdü.
smonff

0

Bu gerçekten bir cevaptan çok bir yorum, ancak SE yorum yapmama izin vermediğinden ...

Yeterli bilgi vermediniz. Unicode, 100.000'den fazla tanımlanmış olan bir milyondan fazla olası karakteri sağlar. (Geri kalanlar dünya dışı insanlarla iletişim kurduğumuzda veya Dünyalıların henüz şifrelenmemiş olan yazma sistemleri için daha muhtemeldir.) Bunlar yaklaşık 150 senaryoya bölünmüştür: Latince, Kiril, Arapça, Çince ... tüm bu karakterler için glifleri (karakter resimleri) sağlamak için. (İçinde kod noktası olan bir kutu sağlayan bir veya iki tane var, ancak istediğiniz bu değil.)

Grawity'nin iki yıl önce söylediği gibi, tek bir karakter beklediğiniz bir kutu alıyorsanız, uygulamanız zaten Unicode'u (muhtemelen Unicode'un UTF-8 kodlamasını) görüntülüyor demektir. Eksik olduğunuz, görüntülemek istediğiniz komut dosyaları için glifler sağlayan bir fonttur. Rusça görüntülüyorsanız, Kiril karakterli bir yazı tipi istersiniz; Çince görüntülemek istiyorsanız, o zaman bu karakterleri içeren bir font gerekir. (Bu tür fontların çoğu aynı zamanda Latin karakterleri de gösterir - İngilizce için kullandığımız türler - ancak mutlaka hoş değil.)

Öyleyse sana sorum şu: hangi senaryoyu görüntülemeye çalışıyorsun? Bunu öğrenene kadar tüm cevaplar tahmin edilecektir.

BTW, oldukça karmaşık olan bazı komut dosyaları var ve doğru yazı tipine sahip olsanız bile, yalnızca bazı programlar bunları doğru şekilde görüntüleyecektir. Bunlar arasında Birmanya, bazı Hintçe betikler (örneğin Devanagari) ve Arapça (sağdan sola yazılır ve bitişik karakterlere bağlı olarak farklı gösterilmesi gereken karakterler vardır) vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.