2016-04-03 20 views
0
my $star = 'इस परीक्षण के लिए है'; 

Bu dizeyi kodlamayı kullanarak yazdırmak istiyorum.İngilizce olmayan karakterleri terminale nasıl yazdırabilirim?

+0

görünmesini de mümkün olmalıdır kontrol etmek ve değiştirmek için chcp komutunu kullanın Hangi terminal kullanıyor musunuz? Terminal UTF8'i işliyorsa, değişkeni STDOUT'a yazdırabilmeniz gerekir. [UTF-8'i Perl'den nasıl çıkarabilirim?] (Http://stackoverflow.com/questions/627661/how-can-i-output-utf-8-from-perl) –

+0

Linux terminali ve pencereleri kullanıyorum –

cevap

4

Sen komut UTF-8 olarak kodlanmış perl anlatmak için programın üst kısmındaki açıklama

use utf8; 

gerekir. Ayrıca

use open qw/ :std :encoding(UTF-8) /; 

UTF-8 varsayılan çıkış kodlama

Terminal UTF-8 çıkışını beklemek gerekir yapmak yazabilir. Linux üzerinde Bu normalde UTF-8 olmalıdır

echo $LC_CTYPE 

değişken LC_TYPE çevreyi kontrol etmelidir ancak bu kod sayfalarında ile yapılır Windows'ta

değilse bunu değiştirebilirsiniz. For UTF-8 you need code page 65001. o

Şimdi

, terminal görüntülemek istediğiniz karakterleri kapsayan bir yazı tipi kullanıyor sağlanan, sadece print $star metni terminali

+1

+1 Windows üzerinde 'cmd.exe 'kullanılıyorsa, [problem]' e gireceksiniz (https://www.nu42.com/2014/05/utf-8-ouput- dan-perl-ve-c-programlarda-in.html). [': Unix' katmanını] kullanmak için STDOUT’ı ayarlamak (https://www.nu42.com/2014/05/utf-8-output-from-perl-in-cmdexe-layers.html) yardımcı görünüyor . [ConEmu] (https://conemu.github.io/) gibi bir konsol kabı kullanmak sorunları maskeleyecek ve dosya çıkışı iyi çalışacaktır. Ayrıca, cmd.exe konsolunun 65001 kod sayfasına ayarlanmış olması ile klavye girişi düzgün şekilde çalışmayacaktır. vesaire vesaire. –

İlgili konular