Frage Terminal Zeige mehrere Sprachen


Bei der Arbeit muss ich mich mit Datenbanken verbinden, und diese Datenbank enthält Felder, die chinesische, russische, spanische, japanische usw. Zeichen enthalten. Wenn ich sie in meinem Terminal hochziehe, bekomme ich Fragezeichen. Ich weiß, dass es eine Möglichkeit gibt, die tatsächlichen Zeichen anstelle von Fragezeichen zu zeigen, aber wie?

:~$ locale auf der Fernbedienung ergibt sich:

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=

:~$ locale auf der Clint ergibt sich:

LANG=en_US.UTF-8
LANGUAGE=
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=

4
2018-01-03 18:57


Ursprung




Antworten:


Prüfen locale um sicherzustellen, dass die Serverseite UTF-8 oder Gebietsschema ändern zu UTF-8. Konfigurieren Sie dann Ihren SSH-Client für die Verwendung von UTF-8 (nicht ISO-8859-1). Wenn Sie beispielsweise Putty verwenden, müssen Sie Puttys Zeichensatz festlegen:

Putty: Fenster-> Übersetzung-> Entfernter Zeichensatz: UTF-8

enter image description here

Andernfalls wird ISO-8859-1 verwendet. EIN Mac-Problem behoben.

Wenn Sie diesen Befehl ausführen, während Sie mit einer MySQL-Datenbank verbunden sind, werden alternativ UTF-8-Zeichen aus MySQL-Abfragen ausgegeben.

set character_set_results=utf8, character_set_client=utf8, character_set_connection=utf8;

4
2018-01-03 19:04



Es benutzt also UTF-8, und das funktioniert nicht. also habe ich diese ausgeführt: sudo cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local  sudo locale-gen und das hat auch nicht funktioniert. - Get Off My Lawn
@RyanNaddy Einfach eingeben locale. Wenn es zurückgibt, dass es UTF-8 verwendet, gut! Jetzt muss die Clientseite für die Verwendung von UTF-8 konfiguriert werden. Viele tun dies nicht ohne explizite Konfiguration. Was ist dein Kunde?
Sie sind beide UTF-8. Bitte sehen Sie sich die aktualisierte Frage an. - Get Off My Lawn
Es spielt keine Rolle, dass das Client-System UTF-8 mit dem verwendet locale Befehl. Der SSH-Client selbst muss wahrscheinlich UTF-8 verwenden. (Die meisten brauchen das.) Außerdem: an einer MySQL-Eingabeaufforderung: mysql> set character_set_results = utf8, character_set_client = utf8, character_set_connection = utf8;
Dieser Befehl hat es behoben: set character_set_results=utf8, character_set_client=utf8, character_set_connection=utf8; - Get Off My Lawn