平时从配置文件各种读取配置参数都正常,但是有时候放了个中文就乱码,
你肯定试过网上好多方法,都没解决,那么来看下面,恭喜你终于找这里了
这里,我们以springboot框架为例:
首先,从配置文件读取汉字乱码的真正原因:
application.properties中文乱码是因为spring boot项目默认的加载配置文件application是
通过字符集ISO-8859-1载入的;
方法一:
网上常说的方法如下图设置,还说前提application.properties文件编码为UTF-8
众多网友使用是有的灵验有的不灵验,也不知道为啥;
其实上述的办法就是将中文转换为Unicode码,再在idea编辑器中转换为中文。
实际存放的还是Unicode码。所以对于生产的乱码,如果用这种方法,你还不如直接把汉字
转为Unicode码放进生产的配置文件里;
方法2:
创建一个新的properties配置文件,如:business.properties,设置文件编码格式为UTF-8,
引入配置并指定字符集,注意:这种方式针对application.properties是不行的
然后在spring boot项目随便启动类或者需要的类上加上下面注解,获取的中文便不会乱码
@PropertySource(value = { "classpath:business.properties" }, encoding = "UTF-8")
方法3:
将application.properties改为application.yml
建议使用方法2