Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie löse ich die verstümmelten chinesischen Zeichen in Tomcat-Protokollen?

Wie löse ich die verstümmelten chinesischen Zeichen in Tomcat-Protokollen?

零下一度
零下一度Original
2017-07-27 15:27:445154Durchsuche

Die chinesische Sprache des Linux-Systems ist verstümmelt. Dies ist ein Problem, auf das viele Freunde häufig stoßen, wenn sie zum ersten Mal mit Linux in Kontakt kommen. Darüber hinaus werden die chinesischen Ausgabeprotokolle angezeigt, wenn wir die in Windows bereitgestellten Projekte auf Linux übertragen von Tomcat sind alle verstümmelt (normal unter Windows), es sieht sehr frustrierend aus, wie sollen wir es also lösen?

 

System chinesischer verstümmelter Code

Tomcat-Ausgabeprotokoll chinesischer verstümmelter Code

Systemumgebung

  • CentOS 7.0 64-bit

  • jdk-8u11-linux-x64.

  • Apache-Tomcat -8.5.16

Lösungsschritte:

1. Installieren Sie das chinesische Sprachpaket

Überprüfen Sie zunächst, ob das chinesische Sprachpaket auf dem System installiert ist

# locale -a (listet die Namen aller verfügbaren öffentlichen Gebietsschemas auf)

    

                                                                                          seit in im Namen aller verfügbaren öffentlichen Gebietsschemas Was tun mehrere Elemente bedeuten?

    {Sprachcode}_{Ländercode}.{Zeichensatz}

  zh ist der Code für Chinesisch, CN ist der Code für China, gb18030, gb2312, utf8 ist der Sprachzeichensatz

Sie in China umgehen - Sie sprechen Chinesisch, Sie sind in China, und das Sprachcharakter ist GB18030/GB2312/UTF8 - Wenn die obigen Elemente nicht gefunden werden, installieren Sie die chinesische Sprache manuell manuell installieren Paket

                                                                     >

Bevor wir die Konfigurationsdatei ändern, werfen wir einen Blick auf das aktuelle Systemgebietsschema


 

(„en_US.UTF-8“ kann als „Sie sprechen Englisch, Sie befinden sich in den Vereinigten Staaten und der Sprachzeichensatz“ verstanden werden ist UTF-8" gemäß dem obigen Inhalt)

  Jedes Element Die Bedeutungen sind:

LANG: Die Sprache des aktuellen Systems

LC_CTYPE: Sprachsymbole und ihre Klassifizierungen

LC_NUMERIC: Zahlen

LC_COLL ATE: Gewohnheiten vergleichen und sortieren

 LC_TIME: Zeitanzeigeformat

 LC_MONETARY: Währungseinheit

 LC_MESSAGES : Informationen sind hauptsächlich Eingabeaufforderungsinformationen, Fehlerinformationen, Statusinformationen, Titel, Beschriftungen, Schaltflächen und Menüs usw.

LC_NAME: Methode zum Schreiben von Namen

LC_ADDRESS: Methode zum Schreiben von Adressen

LC_TELEPHONE: Methode zum Schreiben von Telefonnummern

LC_MEASUREMENT: Ausdruck für Gewichte und Maße

LC_PAPER: Standardpapiergröße

LC_IDENTIFICATION: Übersicht über die im Gebietsschema selbst enthaltenen Informationen

LC_ALL: Die Variable mit der höchsten Priorität, alle LC_*- und LANG-Variablen werden gezwungen, ihrem Wert zu folgen.

Wir sehen, dass das Gebietsschema von Der lokale Computer ist nicht chinesisch. Ändern Sie zunächst die i18n-Konfigurationsdatei

# vim /etc/sysconfig/i18n

Fügen Sie die folgenden zwei Codezeilen hinzu

LANG="zh_CN .UTF-8"

LC_ALL="zh_CN.UTF-8"

# source /etc/sysconfig/i18n

  Ändern Sie dann die Konfigurationsdatei locale.cnf

                                         logous in e.conf

                        

   3. Terminalverbindungskodierung festlegen

   Datei->Öffnen->Sitzung auswählen->Rechtsklick-> ; Eigenschaften->Terminal (das von mir verwendete Terminalverbindungstool ist

Stellen Sie die Verbindung wieder her und überprüfen Sie das aktuelle Systemgebietsschema

 Versuchen Sie erneut, Chinesisch zu bearbeiten

     #vim Are Bist du ein Schwein? >

ERFOLGREICH! Zu diesem Zeitpunkt wurde das Problem der chinesischen Verstümmelung des Systems gelöst.

4. Lösen Sie das Problem verstümmelter chinesischer Zeichen im Tomcat-Ausgabeprotokoll

Nachdem nun die chinesischen verstümmelten Zeichen im System gelöst wurden, werden auch die chinesischen verstümmelten Zeichen im Tomcat-Ausgabeprotokoll gelöst ?

Schauen wir uns nun das Tomcat-Ausgabeprotokoll an

Geben Sie das Tomcat-Verzeichnis ein

# cd $CATALINA_HOME

# tail -f ./logs/catalina. out

Leider sind die chinesischen Schriftzeichen im Tomcat-Protokoll immer noch verstümmelt.

Analyse: Da das System keine verstümmelten chinesischen Zeichen mehr enthält, beweist dies, dass die Systemsprachenumgebung normal ist, das Tomcat-Protokoll jedoch immer noch mit verstümmelten chinesischen Zeichen angezeigt wird, was darauf hinweist, dass es sich um ein internes Problem von Tomcat I handelt Ich habe einige Informationen online überprüft und festgestellt, dass es sich um die JVM (Java Virtual Machine) handelt.

Dies liegt an der Inkonsistenz zwischen dem von der Java Virtual Machine verwendeten Zeichensatz und dem vom System verwendeten Zeichensatz Wenn Sie den Grund kennen, wird das Problem gelöst. Sie können den von der JVM verwendeten Zeichensatz ändern, indem Sie die Startparameter des JVM-Zeichensatzes konfigurieren.

                                                                                                                                               🎜> # vim ./ Bin/Daemon.sh

🎜>

# ./bin/shutdown.sh

# ./bin/startup.sh

Überprüfen Sie nun das Ausgabeprotokoll

# tail -f ./ logs/catalina.out

Senden Sie eine Anfrage an den Server

Das obige ist der detaillierte Inhalt vonWie löse ich die verstümmelten chinesischen Zeichen in Tomcat-Protokollen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn