Loading... ### 解决 Spring Boot 项目中 properties 文件乱码问题 在使用阿里云的 start.aliyun.com 创建 Spring Boot 项目时,可能会遇到 `application.properties` 文件乱码的问题。这通常是由于编码问题引起的。以下是详细的解决步骤和方法,确保 properties 文件的正确读取和显示。 ![](https://www.8kiz.cn/usr/uploads/2024/07/233507339.png) #### 一、确保文件编码为 UTF-8 1. **设置 IDE 编码**: - 确保开发环境(如 IntelliJ IDEA 或 Eclipse)的文件编码为 UTF-8。 - 在 IntelliJ IDEA 中,设置路径为:`File -> Settings -> Editor -> File Encodings`,将全局编码、项目编码和属性文件编码设置为 UTF-8。 - 在 Eclipse 中,设置路径为:`Window -> Preferences -> General -> Workspace`,将文本文件编码设置为 UTF-8。 2. **确保 properties 文件编码为 UTF-8**: - 使用文本编辑器打开 `application.properties` 文件,并确保文件的编码为 UTF-8。可以通过记事本、Notepad++ 等工具检查和修改文件编码。 #### 二、配置 Maven 编码 在 Maven 项目中,确保在 `pom.xml` 文件中配置了正确的编码。 1. **添加资源编码配置**: ```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 编码。 1. **在 `application.properties` 文件中添加编码配置**: ```properties spring.messsages.encoding=UTF-8 ``` 2. **在启动类中设置默认编码**: ```java @SpringBootApplication public class MyApplication { public static void main(String[] args) { System.setProperty("file.encoding", "UTF-8"); SpringApplication.run(MyApplication.class, args); } } ``` #### 四、Web 配置 确保 web 环境下的编码配置正确。 1. **设置嵌入式服务器的编码**: ```properties server.tomcat.uri-encoding=UTF-8 server.servlet.encoding.charset=UTF-8 server.servlet.encoding.enabled=true server.servlet.encoding.force=true ``` 2. **Spring MVC 配置**: ```java @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); } } ``` ### 思维导图 ```mermaid graph TD; A[解决 Spring Boot 项目中 properties 文件乱码问题] --> B[确保文件编码为 UTF-8] B --> B1[设置 IDE 编码] B --> B2[确保 properties 文件编码] A --> C[配置 Maven 编码] C --> C1[添加资源编码配置] A --> D[Spring Boot 配置] D --> D1[在 application.properties 中配置] D --> D2[在启动类中设置编码] A --> E[Web 配置] E --> E1[设置嵌入式服务器编码] E --> E2[Spring MVC 配置] ``` ### 总结 通过确保文件和开发环境的编码一致,配置 Maven 编码,设置 Spring Boot 应用和嵌入式服务器的编码,可以有效解决 properties 文件的乱码问题。以上步骤可以帮助开发者确保在 Spring Boot 项目中正确处理和显示多语言字符,避免因编码问题导致的乱码现象。 最后修改:2024 年 07 月 25 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏