java maven 项目java代码中的中文乱码,数据库中的返回中文不乱码
现象
在本地跑起来项目没有问题,但是在线上打包上线后,java代码中的中文,如异常信息,enum等会乱码,而数据库中的数据读写都没有问题。指定file.encoding无效
原因
在maven编译的时候,没有指定编码导致,在本地,maven 打包走的平台编码是GBK,而在线上,用的zadig打包,走的是(Default locale: en_US, platform encoding: ANSI_X3.4-1968)的一个编码。故中文乱码
解决方案
maven编译时候指定编码为utf-8
<properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties>
注:每个子模块也要指定编码
posted on 2023-03-14 08:48 cococooder 阅读(139) 评论(0) 编辑 收藏 举报