· 问题描述
当在.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 Encodings
的Transparent native-to-ascii conversion
为true
,具体步骤如下:依次点击
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