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

Summary of four situations of joint query between two tables in Mysql

Generally speaking, in order to get more complete...

How to smoothly upgrade and rollback Nginx version in 1 minute

Today, let's talk about a situation that is o...

How MySQL Select Statement is Executed

How is the MySQL Select statement executed? I rec...

Perform data statistics on different values ​​of the same field in SQL

Application scenario: It is necessary to count th...

VUE+SpringBoot implements paging function

This article mainly introduces how to implement a...

CSS draw a lollipop example code

Background: Make a little progress every day, acc...

MySQL table auto-increment id overflow fault review solution

Problem: The overflow of the auto-increment ID in...

CSS flexible layout FLEX, media query and mobile click event implementation

flex layout Definition: The element of Flex layou...

Sharing several methods to disable page caching

Today, when developing, I encountered a method wh...

In-depth explanation of the maximum value of int in MySQL

Introduction I will write about the problem I saw...