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: [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. 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:
|
<<: Beschreiben Sie kurz die Replikation der MySQL-Überwachungsgruppe
>>: So legen Sie den Produktionsumgebungsmodus process.env.NODE_ENV fest
Der Erste: 1. Fügen Sie wichtige Headerdateien hi...
Anfänger können HTML lernen, indem sie einige HTM...
Suchen Sie online nach doppelten Daten und behalt...
Als ich kürzlich MySQL in Docker installierte, st...
Datensicherung und Wiederherstellung Teil 2, wie ...
Ein Index ist eine sortierte Datenstruktur! Die F...
Vorwort Meine Anforderungen sind Syntaxhervorhebu...
Inhaltsverzeichnis Ursachen der MySQL-Tabellenfra...
Vorwort Jede Anwendung, die in JavaScript geschri...
1. concat()-Funktion Funktion: Mehrere Zeichenfol...
1. Einleitung Vor ein paar Tagen fragte mich ein ...
Vorlage <el-table :data="Datenliste"...
In vielen Fällen müssen Sie den Bildhintergrund b...
<br />Jede Familie hat ihre eigenen Probleme...
Inhaltsverzeichnis 1. Ergebnisse erzielen 2. Back...