为了账号安全,请及时绑定邮箱和手机立即绑定

SpringBoot读取默认配置文件application.properties【UTF-8编码】的中文变量值一定要出现乱码?

SpringBoot读取默认配置文件application.properties【UTF-8编码】的中文变量值一定要出现乱码?

小草1434 2018-05-23 16:26:52
在一个正常的springBoot工程中其application.properties的配置文件如下内容【就一行】base.myname2=my Name properties 我的名字然后配置一个读取配置文件的类package com.beini.base.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import lombok.Data; @Configuration @ConfigurationProperties(prefix="base") /*相当于普通java类的getter和setter*/ @Data public class PropertiesConfig {     private String myname2; }然后在一个测试类开始书写测试类package com.beini.base; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import com.beini.base.config.PropertiesConfig; @RunWith(SpringRunner.class) @SpringBootTest public class BaseApplicationTests {     @Autowired     private PropertiesConfig config;     @Test     public void contextLoads() {      System.out.println("yml文件"+config.getMyname());      System.out.println("properties文件"+config.getMyname2());      }     } }打印出来的结果如下【运行测试类】properties文件my Name properties æçåå­也就是说中文“我的名字” 替换成了如下乱码æçåå­问题代码下载链接https://github.com/XiaoCao1434/beini-base 希望有答案的慕课友们解答。另外我试过以下两者方式可行a: properties 文件的编码格式使用默认的ISO-8859-1编码格式【缺点就是编辑的文件不方便肉眼直接观察】b: 将properties的内容转换成yml文件【缺点就是不方便当前项目属性配置转换】希望的答案properties的文件编码格式是UTF-8,而且属性值可能是中文在读取配置文件之后其属性值能够正确读出中文值且配置文件的内容能够方便肉眼看到汉字
查看完整描述

2 回答

?
Frank作家

TA贡献37条经验 获得超9个赞

在编译器的设置编码的地方 设置为utf-8  然后文件编码也就是utf-8喽

查看完整回答
反对 回复 2018-06-17
  • 小草1434
    小草1434
    如果只是配置文件[spring boot 默认的application.properties]修改了编码为UTF-8,则,参数值结果还是乱码
?
元气满满GO

TA贡献92条经验 获得超16个赞

ide的编码设为utf-8,配置文件编码也设置utf8

查看完整回答
反对 回复 2018-05-28
  • 小草1434
    小草1434
    此种做法无法解决程序解析乱码问题[spring加载此文件的编码为ISO-8859-1]
  • 元气满满GO
    元气满满GO
    还是检查文件编码吧,用springboot这么久了基本上没你说的这个问题
  • 小草1434
    小草1434
    或者你可以模拟下我给出问题的例子,你就会遇到这个问题了[记住是spring boot方式读取默认配置文件application.properties ]不是spring mvc,也一定不是自定义的properties文件
  • 2 回答
  • 0 关注
  • 6942 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信