Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] Unicode Darstellungsprobleme
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
icke
n00b
n00b


Joined: 28 Oct 2021
Posts: 4

PostPosted: Thu Oct 28, 2021 1:22 am    Post subject: [solved] Unicode Darstellungsprobleme Reply with quote

Hallo,

nach gut 10 Jahren Abwesenheit von Gentoo und auch vom Forum hier erst einmal ein Hallo in die Runde.

Nun zum Problem. (Bilder sagen mehr als tausend Worte)

https://www.flickr.com/photos/151854594@N07/51634215831/in/dateposted-public/

Beispielhaft ist es ein Vergleich zwischen gnome-terminal und Xterm.
Nun ist es so, dass nur Xterm bei mir in der Lage ist, Unicode (man beachte die Windrichtungspfeile) vollständig darzustellen.

An welchen Schrauben muss ich drehen, dass Unicode vollständig in allen Aplikationen läuft?
Denn die Terms sind nur ein Fallbeispiel. Dem Problem begegne ich im System häufiger.

Bin für jedwede Hilfe diesbezüglich dankbar.

So far icke


Last edited by icke on Thu Oct 28, 2021 8:10 pm; edited 1 time in total
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Thu Oct 28, 2021 1:59 am    Post subject: Reply with quote

Hallo Icke,

Willkommen zurück! :)

Damit Terminals unter Linux im Unicode-Modus laufen, müssen folgende Bedingungen erfüllt sein:
  1. Das Terminal muss Unicode (UTF-8 ) unterstützen und der UTF-8-Modus muss auch aktiviert sein. Xterm muss beispielsweise mit dem "unicode" USE-Flag übersetzt werden.

  2. Im Terminal sollte ein Font verwendet werden, der auch die benötigten Zeichen und Symbole enthält. Der Unicode-Coderaum enthält mittlerweile mehr als 100.000 Schriftzeichen. Kein Font enthält Glyphen für alle Schriftzeichen - die meisten Fonts enthalten sogar nur Glyphen für sehr wenige Schriftzeichen. Wenn also beispielsweise Windrichtungen nicht angezeigt werden, kann das durchaus daran liegen, dass der gewählte Font keine Glyphen für diese Zeichen enthält. Dann wird entweder Tofu - oder gar nichts angezeigt.

  3. Die LC- und LANG-Umgebungsvariablen müssen auf ein Unicode (UTF-8 ) Locale gesetzt sein, also z.B.
    Code:
    $ export | egrep "(LC_|LANG)"
    declare -x LANG="de_DE.utf8"

  4. Das gewählte Locale muss auch auf dem System installiert sein, sprich: es muss auch bei 'locale -a' angezeigt werden:
    Code:
    $ locale -a
    C
    C.utf8
    POSIX
    de_DE.utf8
    en_US.utf8
    zh_CN.utf8

    Falls das gewünschte Locale nicht angezeigt wird: Locale in "/etc/locale.gen" eintragen und "locale-gen" laufen lassen.

Ähnliches gilt auch für Nicht-Terminal-Applikationen.

Zu diesen Themen gibt es ausführliche Anleitungen im Wiki:
Back to top
View user's profile Send private message
icke
n00b
n00b


Joined: 28 Oct 2021
Posts: 4

PostPosted: Thu Oct 28, 2021 4:28 pm    Post subject: Reply with quote

mike155 wrote:
Hallo Icke,

Willkommen zurück! :)


Hallo mike155 und besten Dank für die Antwort.

mike155 wrote:
Damit Terminals unter Linux im Unicode-Modus laufen, müssen folgende Bedingungen erfüllt sein:
  1. Das Terminal muss Unicode (UTF-8 ) unterstützen und der UTF-8-Modus muss auch aktiviert sein. Xterm muss beispielsweise mit dem "unicode" USE-Flag übersetzt werden.


Einzig im Xterm besteht das Problem nicht. In allen anderen Terminalemulatoren schon.

Code:
$ emerge --info |grep unicode
USE="X ... unicode ..."


Quote:
  • Im Terminal sollte ein Font verwendet werden, der auch die benötigten Zeichen und Symbole enthält. Der Unicode-Coderaum enthält mittlerweile mehr als 100.000 Schriftzeichen. Kein Font enthält Glyphen für alle Schriftzeichen - die meisten Fonts enthalten sogar nur Glyphen für sehr wenige Schriftzeichen. Wenn also beispielsweise Windrichtungen nicht angezeigt werden, kann das durchaus daran liegen, dass der gewählte Font keine Glyphen für diese Zeichen enthält. Dann wird entweder Tofu - oder gar nichts angezeigt.


  • Da Xterm es mit gleichem Font kann, würde ich es ausschließen, dass es daran liegt.

    Quote:
  • Die LC- und LANG-Umgebungsvariablen müssen auf ein Unicode (UTF-8 ) Locale gesetzt sein, also z.B.
    Code:
    $ export | egrep "(LC_|LANG)"
    declare -x LANG="de_DE.utf8"

  • Das gewählte Locale muss auch auf dem System installiert sein, sprich: es muss auch bei 'locale -a' angezeigt werden:
    Code:
    $ locale -a
    C
    C.utf8
    POSIX
    de_DE.utf8
    en_US.utf8
    zh_CN.utf8

    Falls das gewünschte Locale nicht angezeigt wird: Locale in "/etc/locale.gen" eintragen und "locale-gen" laufen lassen.

    Ähnliches gilt auch für Nicht-Terminal-Applikationen.

  • Ja, vorhin festgestellt, dass es auch Nicht-Terminal-Applikationen betrifft. Zum Bsp. Firefox-bin, wo ich es jetzt nicht auf irgendwelche USE-Flags münzen könnte.

    Code:
    $ export | egrep "(LC_|LANG)"
    declare -x LANG="de_DE.utf8"
    declare -x LC_ALL="de_DE.utf8"
    declare -x LC_COLLATE="C.utf8"

    Code:
    $ locale -a
    C
    C.utf8
    de_DE
    de_DE@euro
    de_DE.iso88591
    de_DE.iso885915@euro
    de_DE.utf8
    POSIX
    Code:
    $ eselect locale list
    Available targets for the LANG variable:
      [1]   C
      [2]   C.utf8
      [3]   de_DE
      [4]   de_DE@euro
      [5]   de_DE.iso88591
      [6]   de_DE.iso885915@euro
      [7]   de_DE.utf8 *
      [8]   POSIX
      [ ]   (free form)


    Quote:
    Zu diesen Themen gibt es ausführliche Anleitungen im Wiki:

    Diese und weitere Artikel habe ich mir vor meinem Post zu Gemüte geführt.
    Brachte mich bisher noch kein Stück weiter, weswegen ich hier nachfragte

    so far icke
    Back to top
    View user's profile Send private message
    mike155
    Advocate
    Advocate


    Joined: 17 Sep 2010
    Posts: 4438
    Location: Frankfurt, Germany

    PostPosted: Thu Oct 28, 2021 4:36 pm    Post subject: Reply with quote

    Kannst Du ein Stück Text mit den Windrichtungen posten?

    Dann kann ich in meinen Terminals prüfen, ob sie richtig angezeigt werden.

    Welche Terminals verwendest Du denn außer xterm?

    Und welchen Font verwendest Du?
    Back to top
    View user's profile Send private message
    icke
    n00b
    n00b


    Joined: 28 Oct 2021
    Posts: 4

    PostPosted: Thu Oct 28, 2021 7:43 pm    Post subject: Reply with quote

    Klar kann ich das.

    Code:
    ↖ 12-15 km/h


    Ich verwende hauptsächlich GTK-Terminals. Xfce4-Terminal, Gnome-Terminal. Hatte es auch mit urxvt versucht. Aber keine Chance.
    Es scheint auch grundsätzlich ein Problem mit Unicode vorzuliegen. Denn Firefox und Qtile stellen auch einiges falsch dar.
    Back to top
    View user's profile Send private message
    mike155
    Advocate
    Advocate


    Joined: 17 Sep 2010
    Posts: 4438
    Location: Frankfurt, Germany

    PostPosted: Thu Oct 28, 2021 7:54 pm    Post subject: Reply with quote

    Ich habe den String in eine Datei "unicode-test.txt" geschrieben. Hexadezimal sieht sie folgendermaßen aus:
    Code:
    E2 86 96 20  31 32 2D 31  35 20 6B 6D  2F 68 0A

    Die ersten 3 Bytes sind die UTF-8 Codierung für das Unicode-Zeichen U+2196 (NORTH WEST ARROW). Passt also.

    Diese Datei habe ich mir mit "cat unicode-test.txt" in folgenden Terminals angesehen:
    1. xterm
    2. konsole (KDE)
    3. uxterm
    4. xfce4-terminal
    5. weston-terminal

    Der Pfeil wird überall korrekt angezeigt. Als Font verwende ich in den meistens Terminals "Source Code Pro".

    Es funktioniert also! :)

    Falls es bei Dir nicht geht: überprüfe die Einstellung "Kodierung" in den Terminals. Sie muss auf "UTF-8" stehen. Bei xfce4-terminal findest Du die Kodierung unter Terminal / "Kodierung festlegen".


    Last edited by mike155 on Thu Oct 28, 2021 8:12 pm; edited 1 time in total
    Back to top
    View user's profile Send private message
    icke
    n00b
    n00b


    Joined: 28 Oct 2021
    Posts: 4

    PostPosted: Thu Oct 28, 2021 8:10 pm    Post subject: Reply with quote

    Ich kann nicht genau sagen, woran es nun genau gelegen hat.
    Habe in reiner Verzweiflung die Corefonts und Dejavu reinstalliert und plötzlich geht es.

    8O

    Mike155, danke für deine Mühe!

    so far icke
    Back to top
    View user's profile Send private message
    Display posts from previous:   
    Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
    Page 1 of 1

     
    Jump to:  
    You cannot post new topics in this forum
    You cannot reply to topics in this forum
    You cannot edit your posts in this forum
    You cannot delete your posts in this forum
    You cannot vote in polls in this forum