Docker löst das Problem, dass das Terminal kein Chinesisch eingeben kann

Docker löst das Problem, dass das Terminal kein Chinesisch eingeben kann

Vorwort:

Eines Tages baute ich einen MySQL-Dienst in Docker und stellte fest, dass ich keine chinesischen Zeichen in die MySQL-Befehlszeile eingeben konnte. Chinesische Zeichen wurden auch durch ? ersetzt. Ich dachte zunächst, es liege an einem Problem mit dem MySQL-Zeichensatz. Nach der Überprüfung war das Problem nicht gelöst. Ich verließ das Containerterminal und stellte fest, dass ich auch keine chinesischen Zeichen eingeben konnte. Ich schloss daraus, dass es ein Problem mit dem Systemzeichensatz gab. Der Lösungsprozess wird wie folgt aufgezeichnet:

Vor der Auflösung:

# Rufen Sie den Container auf, um den Zeichensatz anzuzeigen [root@master2 ~]# docker exec -it b18f56aa1e15 /bin/bash
root@b18f56aa1e15:/# Gebietsschema
LANG=
SPRACHE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
# Zeigen Sie die vom Container unterstützten Zeichensätze an root@b18f56aa1e15:/# locale -a
C
C.UTF-8
POSIX

Chinesische Zeichen können nicht eingegeben werden: Das System verwendet den POSIX-Zeichensatz, der keine chinesischen Zeichen unterstützt, C.UTF-8 hingegen schon. Das Problem kann gelöst werden, indem die LANG-Umgebung des Systems auf das Format „C.UTF-8“ geändert wird.

Geben Sie den Container einfach wie folgt ein, um Chinesisch einzugeben: docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bash

[root@master2 ~]# docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bash
root@b18f56aa1e15:/# Halloroot@b18f56aa1e15:/# mysql -uroot -p
Passwort eingeben: 
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 80
Serverversion: 5.7.17-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer
Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen
Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

mysql> Hallo

Beachten:

Diese Änderung ist nur vorübergehend. Um die Änderung dauerhaft zu machen, müssen Sie sie beim Erstellen des Containers im Dockerfile festlegen.
Mit dieser Methode lässt sich auch das Problem lösen, dass beim Betreten des Pods in K8s keine chinesischen Schriftzeichen eingegeben werden können.

Oben finden Sie Einzelheiten dazu, wie Docker das Problem der fehlenden Eingabe chinesischer Schriftzeichen im Terminal löst. Weitere Informationen dazu, wie Docker das Problem der fehlenden Eingabe chinesischer Schriftzeichen löst, finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Verwendung von Umgebungsvariablen in Docker und Lösungen für häufige Probleme
  • Docker legt Port 2375 frei, was zu Serverangriffen und -lösungen führt
  • Installieren Sie Jenkins mit Docker und lösen Sie das Problem des anfänglichen Plugin-Installationsfehlers
  • Beheben Sie das Problem, dass der Docker-Container das externe Netzwerk nicht anpingen kann
  • Beim Einrichten von Jenkins in einer Docker-Umgebung werden im Konsolenprotokoll beim Erstellen von Aufgaben verstümmelte chinesische Zeichen angezeigt
  • Lösung für das Problem, dass Docker-Protokolle nicht abgerufen werden können
  • Teilen Sie das Problem, dass Ubuntu 19 die Docker-Quelle nicht installieren kann
  • Häufig gestellte Fragen zu Docker

<<:  Beschreiben Sie kurz die Replikation der MySQL-Überwachungsgruppe

>>:  So legen Sie den Produktionsumgebungsmodus process.env.NODE_ENV fest

Artikel empfehlen

MySQL-Lösung zur funktionalen Indexoptimierung

Bei der Verwendung von MySQL führen viele Entwick...

So verwenden Sie MySQL-Stresstest-Tools

1. MySQLs eigenes Stresstest-Tool – Mysqlslap mys...

Installationstutorial für Docker unter Linux

Das Docker-Paket ist bereits im Standard-Reposito...

Einrichten von VMware vSphere in VMware Workstation (Grafisches Tutorial)

VMware vSphere ist die branchenführende und zuver...

Der Unterschied zwischen HTML-Block-Level-Tags und Inline-Tags

1. Blockebenenelement: bezieht sich auf die Fähigk...

Probleme mit der Rancher-Bereitstellung und dem Importieren von K8S-Clustern

Die Rancher-Bereitstellung kann über drei Archite...

Tutorial zur grundlegenden Verwendung des MySQL Slow Query Log

Parameter im Zusammenhang mit dem langsamen Abfra...

Benutzerdefinierte Tabbar-Komponente für das WeChat-Applet

In diesem Artikel wird der spezifische Code der b...

Tutorial zur Installation von MYSQL8.X auf Centos

MySQL-Installation (4, 5, 6 können weggelassen we...

Perfekte Lösung für den Themenwechsel basierend auf CSS-Variablen (empfohlen)

Als Baidu diese Anforderung erhielt, fand das Unt...

Beispiel zum Erstellen eines Datenbanknamens mit Sonderzeichen in MySQL

Vorwort In diesem Artikel wird erklärt, wie Sie i...

Was tun, wenn Sie das ursprüngliche Passwort für MySQL auf dem MAC vergessen?

Die Lösung zum Vergessen des ursprünglichen MySQL...

Ein Beispiel für die Berechnungsfunktion calc in CSS im Website-Layout

calc ist eine Funktion in CSS, die zum Berechnen ...

Mehrere Möglichkeiten zum Verbinden von Tabellen in MySQL

Die Verbindungsmethode in der MySQL-Tabelle ist e...