欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

spring boot maven项目返回值乱码的解决方法

发布时间:2024/7/23 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 spring boot maven项目返回值乱码的解决方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

spring boot maven项目返回值乱码的解决方法

1、先看乱码效果:

spring boot maven项目,返回值乱码,如下图:

控制台打印log乱码,如下图:

有swagger的话,swagger文档乱码,如下图:

2、分析解决

以上种种,都是maven在打包的时候,没有用UTF-8编码导致的,如下图,是maven打包时的log:

方法一:maven 打包时,会先找对应pom文件中有没有编码配置
<project><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies>...</dependencies> </project>

如果有,就按照pom文件中的配置编码格式打包。所以这个是最优的解决方案

方法二:如果打包找不到上面的配置,那就会用项目配置


所以,这里配置项目编码,也能解决乱码问题
但这种方式,仅仅限于在idea中执行打包命令,才能有效,如果你是自己单独用命令在cmd窗口执行打包,还是还会乱码。

方法三:更改maven的平台编码格式

本地执行mvn -v(前台是配置了maven_home的环境变量,没有配置的话可以直接去对应安装文件下去执行命令)

发现maven默认的平台编码是GBK的,所以我们需要把这个改一下。
新增环境变量:
MAVEN_OPTS
-Dfile.encoding=UTF-8

重新打开一个控制台(不用重启电脑),再次查看mvn -v

发现maven的平台编码,变成了UTF-8,生效了
这种很明显,不是项目级别,而且只要用本地这个maven打包,都会用UTF-8编码格式

3、总结

上面三种方法,都可以解决乱码,但 强烈建议 用第一种,直接在pom文件中指定。
用第一种,上线的时候,就不用配置线上maven的编码格式了。
而且也只有第一种,maven打包的时候不是warning警告的:

除了这个,其他方法都是warning警告的,如下图:

也同样说明,maven打包,是希望用户在pom文件中配置的,其他的只是娄底方案而已。

总结

以上是生活随笔为你收集整理的spring boot maven项目返回值乱码的解决方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。