Ä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

So ändern Sie das Standardnetzwerksegment der Docker0-Brücke in Docker

1. Hintergrund Wenn der Docker-Dienst gestartet w...

Tabelle Tag (Tabelle) Im Detail

<br />Tabelle ist ein Tag, das schon seit la...

Spezifische Verwendung von useRef in React

Ich glaube, dass Leute, die Erfahrung mit React h...

Analyse des Implementierungsprozesses der drei Modi des VMWare-Netzwerkadapters

Drei Modi Bridged (Bridge-Modus), NAT (Network Ad...

MySQL-Abfrage redundanter Indizes und ungenutzter Indexoperationen

MySQL 5.7 und höhere Versionen ermöglichen die di...

JavaScript implementiert kreisförmiges Karussell

In diesem Artikel wird der spezifische JavaScript...

So verwenden Sie GeoIP, um Regionen in Nginx einzuschränken

Dieser Blog ist eine Arbeitsnotiz Umfeld: Nginx-V...

Nachteile und sinnvolle Verwendung des MySQL-Datenbankindex

Inhaltsverzeichnis Richtige Verwendung von Indize...

Lösung für das Verschwinden des MySql-Dienstes aus unbekannten Gründen

Lösung für das Verschwinden des MySql-Dienstes au...

Erfahren Sie mehr über das V-Modell und seine Modifikatoren in einem Artikel

Inhaltsverzeichnis Vorwort Modifikatoren des V-Mo...

Detaillierte Erläuterung der Vue Simple Notepad-Entwicklung

In diesem Artikelbeispiel wird der spezifische Co...