本文所属【知识林】:http://www.zslin.com/web/article/detail/47

· 问题描述

当在.properties的配置文件中有中文时,读取出来的总是乱码。比如我的application.properties配置文件的内容如下:

server.port=9090
test.msg=你好:Springboot

当在程序中读取test.msg值时总是会得到乱码,默认是以ISO-8859-1的字符编码读取,尝试的方法有:

1、添加配置

banner.charset=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8

2、设置文件类型

application.properites的文件类型修改为UTF-8的编码类型。

通过以上方法测试获取出来的值还是乱码。

· 解决办法

设置 File EncodingsTransparent native-to-ascii conversiontrue,具体步骤如下:依次点击

File -> Settings -> Editor -> File Encodings

Properties Files (*.properties)下的Default encoding for properties files设置为UTF-8,将Transparent native-to-ascii conversion前的勾选上。

代码文档地址:http://www.zslin.com/web/article/detail/12
代码仓库地址:https://github.com/zsl131/spring-boot-test/tree/master/study02

本文所属【知识林】:http://www.zslin.com/web/article/detail/47
文章点评共:14 条
点评内容: 提交点评

05-20 点评:设置前,把.properties里的内容复制出来,然后设置好后,把.properties里的内容删除,将前面复制的内容重新黏贴进去,就解决了

04-26 点评:设置好了后删除重建就可以了谢谢作者和评论区的小伙伴

04-11 点评:赞,根本的方法是,把编码设置完之后,再把properties文件删除重新创建就好了。

04-04 点评:把汉字转换成unicode后在放入properties中。

03-14 点评:不行啊,中文只有一部分是好的,还有一部分变成了不认识的汉子

03-08 点评:不行,怎么弄都不行,搞了一下午了

02-24 点评:我试下面的解决方法时,没有把配置文件中的那一系列配置删除,发现不行,然后把配置文件中的配置删除就可以了

01-17 点评:谢谢,解决了我都问题

01-08 点评:,需要把文件删除重新创建

12-28 点评:不行啊

12-28 点评:不行

11-06 点评:原来是这样

08-13 点评:66666

12-15 点评:请问如果是用eclipse开发乱码怎么整呢?

12-23 回复:一样的道理,设置字符编码就可以!