Suport ascii extins pentru GNOME Terminal (Unix, Gnome Terminal, Locale)

Mihail Krutov a intrebat.

Am acest fișier:

    0 1 2 3 4 5 6 7 8 9 a b c d e f 
   __________________________________
20 |  ! " # $ % & ' ( ) * + , - . / |
30 |0 1 2 3 4 5 6 7 8 9 : ; < = > ? |
40 |@ A B C D E F G H I J K L M N O |
50 |P Q R S T U V W X Y Z [  ] ^ _ |
60 |` a b c d e f g h i j k l m n o |
70 |p q r s t u v w x y z { | } ~  |
80 |                |
90 |                |
a0 |  ¡ ¢ £ € ¥ Š § š © ª « ¬ ­ ® ¯ |
b0 |° ± ² ³ Ž µ ¶ · ž ¹ º » Œ œ Ÿ ¿ |
c0 |À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï |
d0 |Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß |
e0 |à á â ã ä å æ ç è é ê ë ì í î ï |
f0 |ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ |
   __________________________________

Este doar un tabel ASCII. Cum pot face ca gnome terminal să-l afișeze corect? By-default nu afișează niciunul dintre simbolurile rândului, cu excepția primului 6, vezi screenie: http://imgur.com/FKy9asp

Locația mea este en_US.UTF-8:

$locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

fonturile sunt implicite. Am încercat să le schimb, fără succes.

1 răspunsuri
Thomas Dickey

Acesta nu este „ASCII”, ci pare a fi ISO-8859-1 (denumit și Latin-1). Puteți fie

  • să vă setați locale la ceva cu această codificare, de ex, en_US (în funcție de ceea ce suportă localele dvs.), sau
  • să convertiți fișierul în UTF-8

Puteți utiliza iconv pentru a face această conversie, de exemplu, una dintre acestea:

iconv -f ISO-8859-1 -t UTF-8 oldfile > newfile
iconv -t UTF-8 oldfile > newfile

Lectură suplimentară: