Spring Boot项目的jar包部署在Windows Server上,使用 以下命令行启动:

java -jar d:\project.jar

发现在前端对数据进行编辑或者新增时,如果数据中含有中文,保存到数据库中的数据就会乱码,这是什么原因导致的呢?

我们知道,中文乱码一般是因为字符编码方式与字符解码方式不一致导致的,那么在出现乱码的时候,我们首先应该检查项目的编码是否与cmd控制台的编码方式是否一致。如果不一致的话,那就需要修改某一个编码方式使其一致。

Windows系统命令行cmd控制台默认编码为GBK,而SpringBoot项目的默认设置为UTF-8,则直接运行 java -jar d:\project.jar ,name中文就会出现乱码。

在网上找到解决方式如下:

java -Dfile.encoding=utf-8 -jar d:\project.jar

在cmd命令行启动时,即将编码方式确定,这样接口保存数据时就不会乱码。

bat文件如下:

@echo off
echo.
echo.

cd %~dp0

set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m

java -Dfile.encoding=utf-8 -jar %JAVA_OPTS% d:\project.jar

cd bin
pause

如果使用该方式依旧不能解决的话,可以参考以下博客文章:https://blog.csdn.net/seawaving/article/details/122670006

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐