Modify the jvm encoding problem when Tomcat is running

Modify the jvm encoding problem when Tomcat is running

question:

Recently, garbled data appeared when deploying the project. After checking, the project used the UTF-8 encoding format, and the data was also used. However, when it was transmitted to the other party through the calling interface, it was garbled.

Since it is deployed in a Windows environment, the default encoding of Windows is GBK, which leads to the problem of inconsistent encoding during JVM runtime, and it is also easy to modify.

Solution:

If you use UTF-8 encoding in Linux environment, you do not need to modify it, because Linux defaults to UTF-8

The war package is deployed in Tomcat

Modify jvm encoding

Linux Environment

Configuration in catalina.sh

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

Since the default encoding format in Windows environment is GBK, you need to change the encoding format when Tomcat is running.

Windows Environment

Configuration in catalina.bat

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

If it is a jar package deployment, you only need to add the jvm parameter to the startup command.

JAR package deployment

Add jvm parameters to the startup command

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

Summarize

The above is the editor's introduction to modifying the JVM encoding problem when running Tomcat. I hope it will be helpful to everyone!

You may also be interested in:
  • Detailed explanation of the difference between Java memory model and JVM runtime data area
  • Analysis of the JVM runtime data area principle
  • JVM: In-depth understanding of late (runtime) optimization
  • Detailed explanation of Java Virtual Machine (JVM) runtime
  • Detailed explanation of JVM runtime memory usage monitoring
  • JVM core tutorial: detailed explanation of the entire process of JVM operation and class loading
  • How to set JVM running parameters in IntelliJ IDEA
  • Detailed explanation of the principle of data area division at JVM runtime

<<:  Implementing calculator functions with WeChat applet

>>:  Example analysis of the page splitting principle of MySQL clustered index

Recommend

Detailed explanation of Docker Compose deployment and basic usage

1. Docker Compose Overview Compose is a tool for ...

Vue virtual Dom to real Dom conversion

There is another tree structure Javascript object...

Use of MySQL DATE_FORMAT function

Suppose Taobao encourages people to shop during D...

Implementation of Single Div drawing techniques in CSS

You can often see articles about CSS drawing, suc...

JS 4 super practical tips to improve development efficiency

Table of contents 1. Short circuit judgment 2. Op...

A brief discussion on the VUE uni-app development environment

Table of contents 1. Through HBuilderX visual int...

Using jQuery to implement the carousel effect

What I bring to you today is to use jQuery to imp...

Analysis of the principle of using PDO to prevent SQL injection

Preface This article uses pdo's preprocessing...

WeChat applet custom scroll-view example code

Mini Program Custom Scroll-View Scroll Bar Withou...

Detailed explanation of MySQL Strict Mode knowledge points

I. Strict Mode Explanation According to the restr...

Summary of solutions to common Linux problems

1. Connect Centos7 under VMware and set a fixed I...

JavaScript BOM Explained

Table of contents 1. BOM Introduction 1. JavaScri...