Ändern Sie das JVM-Kodierungsproblem, wenn Tomcat ausgeführt wird

Ändern Sie das JVM-Kodierungsproblem, wenn Tomcat ausgeführt wird

Frage:

Vor kurzem traten bei der Bereitstellung des Projekts verstümmelte Daten auf. Nach der Überprüfung verwendete das Projekt das UTF-8-Kodierungsformat und die Daten wurden auch verwendet. Als sie jedoch über die aufrufende Schnittstelle an die andere Partei übertragen wurden, waren sie verstümmelt.

Da es in einer Windows-Umgebung bereitgestellt wird, ist die Standardcodierung von Windows GBK, was während der JVM-Laufzeit zum Problem einer inkonsistenten Codierung führt und auch leicht zu ändern ist.

Lösung:

Wenn Sie die UTF-8-Kodierung in einer Linux-Umgebung verwenden, müssen Sie diese nicht ändern, da Linux standardmäßig UTF-8 verwendet.

Das War-Paket wird in Tomcat bereitgestellt

JVM-Kodierung ändern

Linux-Umgebung

Konfiguration in catalina.sh

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=utf-8"

Da das Standardcodierungsformat in der Windows-Umgebung GBK ist, müssen Sie das Codierungsformat ändern, wenn Tomcat ausgeführt wird.

Windows-Umgebung

Konfiguration in catalina.bat

set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8

Wenn es sich um eine JAR-Paketbereitstellung handelt, müssen Sie dem Startbefehl nur den JVM-Parameter hinzufügen.

Bereitstellung von JAR-Paketen

Fügen Sie dem Startbefehl JVM-Parameter hinzu

java -Dfile.encoding=UTF-8 -jar xxx.jar

Zusammenfassen

Das Obige ist die Einführung des Herausgebers zum Ändern des JVM-Kodierungsproblems beim Ausführen von Tomcat. Ich hoffe, es wird allen hilfreich sein!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Unterschieds zwischen Java-Speichermodell und JVM-Laufzeitdatenbereich
  • Analyse des JVM-Laufzeitdatenbereichsprinzips
  • JVM: Tiefgreifendes Verständnis der späten (Laufzeit-)Optimierung
  • Detaillierte Erklärung der Java Virtual Machine (JVM)-Laufzeit
  • Detaillierte Erläuterung der Überwachung der JVM-Laufzeitspeichernutzung
  • JVM-Kern-Tutorial: Detaillierte Erläuterung des gesamten Prozesses des JVM-Betriebs und des Klassenladens
  • So legen Sie JVM-Laufparameter in IntelliJ IDEA fest
  • Detaillierte Erläuterung des Prinzips der Datenbereichsaufteilung zur JVM-Laufzeit

<<:  Implementieren von Rechnerfunktionen mit dem WeChat-Applet

>>:  Beispielanalyse des Seitenaufteilungsprinzips des MySQL-Clusterindex

Artikel empfehlen

Fünf Verzögerungsmethoden für die MySQL-Zeitblindinjektion

Fünf Verzögerungsmethoden für die MySQL-Zeitblind...

Detaillierte Analyse des langsamen Abfrageproblems beim Senden von MySQL-Daten

Anhand eines Beispiels habe ich Ihnen die Lösung ...

Detaillierte Erklärung des Unterschieds zwischen run/cmd/entrypoint in Docker

In Dockerfile können run, cmd und entrypoint zum ...

Natives JS zur Implementierung einer Echtzeituhr

Teilen Sie einen Echtzeituhreffekt, der mit nativ...

Über nginx zur Implementierung des Jira-Reverse-Proxys

Zusammenfassung: Nginx-Reverse-Proxy für JIRA kon...

Beispiel für eine erzwungene Konvertierungsmethode für MySQL-Zeichenfolgen

Vorwort Da die Typen derselben Felder in den beid...

Tutorial zur Installation von VMware, Nmap und Burpsuite

Inhaltsverzeichnis VMware BurpSuite 1. Virtuelles...

Detaillierte Erklärung zur Verwendung der Vue-Komponente zur Kennzeichensuche

Eine einfache Nummernschild-Eingabekomponente (vu...

js realisiert das dynamische Laden von Daten durch Wasserfallfluss

In diesem Artikel erfahren Sie den spezifischen C...

So zeigen Sie im img-Tag in HTML nur die Bildmitte an (drei Methoden)

Derzeit gibt es drei Möglichkeiten, die Mitte ein...

jQuery erzielt den Shutter-Effekt (mithilfe der Li-Positionierung)

In diesem Artikel wird der spezifische Code von j...