当我们在项目中需要读取配置文件的变量时,往往会遇到读取中文乱码的问题:

英文字符则不会出现该问题。

出现该问题的原因是:

SpringBoot在加载配置文件时,使用的默认编码是:ISO_8859_1。

详细原因请参考:

https://eericzeng.github.io/2019/06/29/SpringBoot%E4%BD%BF%E7%94%A8@Value%E8%AF%BB%E5%8F%96.properties%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/

那么我们修改IDEA的编码格式为UTF-8不就可以了吗?

这种方式似乎解决了该问题,但是又没完全解决,依然会出现乱码的问题。

那么首先我们需要遵循的原则是:在配置文件中尽量避免中文配置,

当我们不得不配置中文数据时,可以使用如下解决方案:

读取properties中的中文配置,可以使用@PropertySource注解。

下面是demo:

首先新建配置文件:xxx.properties,名称不能和application.properties相同。

新建一个了类,用来接收配置:

@Data
@Component
@PropertySource(value = "classpath:chinese.properties", encoding="UTF-8")
//指定读取配置的前缀
@ConfigurationProperties(prefix = "com.example.demo")
public class Properties {private String name;private Integer age;private String address;
}

使用:

@Autowired引用

这样就可以正确加载中文配置。

@ConfigurationProperties还可以加载yml配置,同样不会出现乱码问题。

如何获取yml里的配置数据?

@Value读取properties中文乱码解决方案相关推荐

  1. SpringBoot使用@Value读取.properties中文乱码及解决方法

    问题重现 某不知名springboot小项目,application.properties文件: custom.param=中文属性值 java代码: @SpringBootApplication p ...

  2. PHP——PHP读取MySQL数据库中文乱码解决方案

    问题描述 PHP读取MySQL数据库中文乱码 解决方案 静态页面  <head> <metahttp-equiv="Content-Type"content=&q ...

  3. JSP中文乱码解决方案了解和TOMCAT中文乱码解决

    java 中文乱码终极解决方案 首先,确保你的数据库是支持中文的.把数据库的编码方式设置能支持中文的,如GB2132,utf-8等,而且经过测试后确实能写入中文且正常显示.这样就就保证了数据库确实是支 ...

  4. 解决Spring项目读取配置文件中文乱码问题

    解决Spring项目读取配置文件中文乱码问题 properties配置文件读取时中文乱码,错误如下: 解决方法如下: **1.**打开IDEA的设置项,进入Editor->File encodi ...

  5. iis 站点中文乱码 解决方案

    iis 站点中文乱码 解决方案 参考文章: (1)iis 站点中文乱码 解决方案 (2)https://www.cnblogs.com/zhaokunbokeyuan256/p/10001726.ht ...

  6. Spring RestTemplate中文乱码解决方案

    Spring RestTemplate中文乱码解决方案 参考文章: (1)Spring RestTemplate中文乱码解决方案 (2)https://www.cnblogs.com/accesski ...

  7. python写入csv文件中文乱码解决方案

    python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...

  8. Windows 10 powershell 中文乱码解决方案

    Windows 10 powershell 中文乱码解决方案 参考文章: (1)Windows 10 powershell 中文乱码解决方案 (2)https://www.cnblogs.com/we ...

  9. Spring MVC POST中文乱码解决方案

    2019独角兽企业重金招聘Python工程师标准>>> POST中文乱码解决方案 1.自己编写一个filter,来实现编码,代码如下: 1 public class Characte ...

最新文章

  1. 秦刚:积累财富最简单的一种模式:打造一项高收入技能
  2. 如何让人大致理解RxJava思想:第一节 初步理解RxJava
  3. php post请求后端拿不到值_[精选] uniapp实现多端开发,与PHP是如何结合的
  4. 3.Lucene3.x API分析,Director 索引操作目录,Document,分词器
  5. groupby索引有效吗_面试官:MySQL建索引需要遵循哪些原则呢?
  6. shell中字符串操作【转】
  7. 配置计算机老是重启,电脑总是自动重启该怎么解决
  8. 104. 字符串函数
  9. PE框架学习之道:PE框架——style的配置
  10. 关于非堆内存申请的性能测试
  11. php openoffice,php实现openoffice转pdf的方法
  12. 成都电子信息学校计算机专业,成都电子信息学校2020招生简章
  13. lenovo服务器换系统重装系统_电脑怎么重装系统lenovo
  14. 大数据分析与应用技术创新平台
  15. 语法错误 : 缺少“;”(在“*”的前面)_学科教学不能缺少生本意识
  16. vue-cli在webpack环境下怎样生成开发环境模板(适合初学者)
  17. 微信支付-扫码支付方式在ThinkPHP商城中的使用(第二部分)
  18. C++ —— 宏对于简化类接口的奇技淫巧
  19. html datatable修改行,DataTable根据条件修改行颜色和特定格颜色
  20. Matlab绘图(二)—变色散点图二维、三维绘制

热门文章

  1. 基于android 10的国产手机,魅友有福了,基于Android 10的Flyme来了,10款旧机型可申请...
  2. SpringMVC整合mybatis(终结版)
  3. java放大缩小_如何用Java实现图形的放大和缩小?
  4. 将页面全部颜色变成灰色
  5. Linux命令:lp
  6. 二零年的十一月开始 努力做个极简的人
  7. 新唐NUC972 ARM9 内置DDR2 最大128MB 11路UART 电表 集中器 充电桩
  8. PYTHON3 Modbus_tk
  9. 【小程序】如何实现一个可折叠的列表
  10. 【深入理解Kotlin协程】Google的工程师们是这样理解Flow的?