Sonderzeichencodes werden im Terminal für diakritische Zeichen angezeigt, wenn Sie sich mit einem Ubuntu-Server verbinden

Wenn ich eine Verbindung zu einem Ubuntu-Server (ssh) herstelle und versuche, Text im Terminal vom Remote-Server anzuzeigen, erhalte ich Zeichencodes anstelle des entsprechenden Textes mit diakritischen Zeichen.

zum Beispiel für eine git logauf dem Server bekomme ich:

Author: Ionic<C4><83> Biz<C4><83>u <bizauionica@...>

anstatt:

Author: Ionică Bizău <bizauionica@...>

Wenn ich das git logauf meinem lokalen Rechner im Terminal mache, erhalte ich die richtigen diakritischen Zeichen.

Ich habe keine Ahnung, in welche Kategorie dieses Problem fällt:

  • Terminal
  • bash
  • sch
  • Ubuntu
  • git

Ich habe Ubuntu anfangs nach diesem Problem gefragt , aber sie haben mich hierher umgeleitet.

Irgendwelche Ideen?

Terminal zeigt die UTF-8-Bytes in Hex für das Nicht-ASCII-Zeichen an, wahrscheinlich müssen einige Voreinstellungen angepasst werden.
Was druckt localeauf dem Server, oder haben Sie versucht, auszuführen export LANG=en_US.UTF-8?
Auf dem Ubuntu-Server (über SSH gesehen): ` LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=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_TELEFON=" en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= `
Und auf meinem Mac: ` LANG= LC_COLLATE="C" LC_CTYPE="UTF-8" LC_MESSAGES="C" LC_MONETARY="C" LC_NUMERIC="C" LC_TIME="C" LC_ALL= `

Antworten (1)

Die LC_ALLVariable mit einem leeren Wert verursachte das Problem.

Die Lösung dieses Problems kann also hier auf SO gefunden werden :

Auf dem Mac LC_ALList die Variable standardmäßig nicht gesetzt. Also schreiben:

export LC_ALL=en_US.UTF-8  

in Ihrem ~/.bash_profilebehebt das Problem. Ich gehe davon aus, dass Sie eine Standard-SSH-Konfiguration haben, die LC_*in der SendEnvKonfiguration enthalten ist.