Ä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

Webseiten-Erlebnis: Farbabstimmung für Webseiten

<br />Die Farbe einer Webseite ist entscheid...

Lösen Sie das Problem beim Ausführen von Jupyter Notebook auf dem Server

Inhaltsverzeichnis Auf dem Server läuft Jupyter N...

HTML-Tutorial: Sammlung häufig verwendeter HTML-Tags (5)

Verwandte Artikel: Anfänger lernen einige HTML-Ta...

So installieren Sie Postgres 12 + pgadmin im lokalen Docker (unterstützt Apple M1)

Inhaltsverzeichnis einführen Unterstützt Intel-CP...

Detaillierte Erklärung, wie MySQL (InnoDB) mit Deadlocks umgeht

1. Was ist ein Deadlock? Die offizielle Definitio...

mysql 8.0.18 mgr-Installation und seine Umschaltfunktion

1. Systeminstallationspaket yum -y install make g...

CSS-Implementierungscode zum Zeichnen von Dreiecken (Rahmenmethode)

1. Implementieren Sie ein einfaches Dreieck Mithi...

Beispielcode zur Eingabe des Kennzeichens und der Provinzkürzel in html

Das Prinzip besteht darin, zuerst ein Div mit ein...

JavaScript implementiert Feuerwerkseffekte mit Soundeffekten

Ich habe eine halbe Stunde gebraucht, um den Code...

So erstellen Sie mit Dockerfile ein Spiegelbild der Java-Laufzeitumgebung

Die aktuelle Umgebung ist: Centos 7.5 docker-ce 1...