关于Spring boot中读取属性配置文件出现中文乱码的问题的解决

版权声明:本文为博主原创文章,创作不易,转载请注明出处。 https://blog.csdn.net/w1014074794/article/details/71159722

原文链接: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前的勾选上。


这是网上最多的一种解决方案,但是在eclipse下开发的话,会发现根本就找不到对应的Transparent native-to-ascii conversion设置选项。


那么在eclipse下如何解决Spring boot读取配置文件出现中文乱码的问题呢?

     首先,分析勾选Transparent native-to-ascii conversion设置的作用,中文翻译是透明native-to-ascii转换。

     分析是eclipse中的属性文件都会转化为ascii码再去被解析。

     百度搜索,eclipse中怎么设置properties文件的Transparent native-to-ascii conversion

     得到:

  在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文

    http://www.cnblogs.com/zdz8207/p/java-eclipse-properties.html

    推荐使用里面的离线安装。

    安装完成PropertiesEditor 插件后,使用该编辑器重新编辑属性文件中的中文,然后重新运行程序,

    发现读取的中文配置文件不是乱码了。






猜你喜欢

转载自blog.csdn.net/w1014074794/article/details/71159722