解决 Spring Boot 项目中 properties 文件乱码问题
在使用阿里云的 start.aliyun.com 创建 Spring Boot 项目时,可能会遇到 application.properties 文件乱码的问题。这通常是由于编码问题引起的。以下是详细的解决步骤和方法,确保 properties 文件的正确读取和显示。
一、确保文件编码为 UTF-8
设置 IDE 编码:
- 确保开发环境(如 IntelliJ IDEA 或 Eclipse)的文件编码为 UTF-8。
- 在 IntelliJ IDEA 中,设置路径为:
File -> Settings -> Editor -> File Encodings,将全局编码、项目编码和属性文件编码设置为 UTF-8。 - 在 Eclipse 中,设置路径为:
Window -> Preferences -> General -> Workspace,将文本文件编码设置为 UTF-8。
确保 properties 文件编码为 UTF-8:
- 使用文本编辑器打开
application.properties文件,并确保文件的编码为 UTF-8。可以通过记事本、Notepad++ 等工具检查和修改文件编码。
- 使用文本编辑器打开
二、配置 Maven 编码
在 Maven 项目中,确保在 pom.xml 文件中配置了正确的编码。
添加资源编码配置:
<project> ... <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> </includes> <filtering>false</filtering> <encoding>UTF-8</encoding> </resource> </resources> </build> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> ... </project>
三、Spring Boot 配置
确保 Spring Boot 应用在启动时使用 UTF-8 编码。
在
application.properties文件中添加编码配置:spring.messsages.encoding=UTF-8 在启动类中设置默认编码:
@SpringBootApplication public class MyApplication { public static void main(String[] args) { System.setProperty("file.encoding", "UTF-8"); SpringApplication.run(MyApplication.class, args); } }
四、Web 配置
确保 web 环境下的编码配置正确。
设置嵌入式服务器的编码:
server.tomcat.uri-encoding=UTF-8 server.servlet.encoding.charset=UTF-8 server.servlet.encoding.enabled=true server.servlet.encoding.force=true Spring MVC 配置:
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { StringHttpMessageConverter stringConverter = new StringHttpMessageConverter(StandardCharsets.UTF-8); stringConverter.setWriteAcceptCharset(false); converters.add(stringConverter); } }
思维导图
解决 Spring Boot 项目中 properties 文件乱码问题
确保文件编码为 UTF-8
设置 IDE 编码
确保 properties 文件编码
配置 Maven 编码
添加资源编码配置
Spring Boot 配置
在 application.properties 中配置
在启动类中设置编码
Web 配置
设置嵌入式服务器编码
Spring MVC 配置
总结
通过确保文件和开发环境的编码一致,配置 Maven 编码,设置 Spring Boot 应用和嵌入式服务器的编码,可以有效解决 properties 文件的乱码问题。以上步骤可以帮助开发者确保在 Spring Boot 项目中正确处理和显示多语言字符,避免因编码问题导致的乱码现象。