Shellbye.github.io icon indicating copy to clipboard operation
Shellbye.github.io copied to clipboard

Spring Boot .properties 编码 UTF-8 支持问题历史

Open Shellbye opened this issue 5 years ago • 0 comments

Spring Boot支持用户自定义配置,这样可以把一些未来可能改变的值提取到配置文件中,将来修改就不需要修改代码了。但是因为某些历史原因application.properties只支持ISO-8859-1编码,如果我们的配置中包含中文,如下

custom.appName="演示"

那么最终的结果就成为了

{
    name: "演示"
}

网络上提出了很多的解决方案,比如使用这个转换工具,可以把中文转成unicode,这个时候我们的配置就成了

custom.appName="\u6f14\u793a"

这样最终的结果是可以接收的,如下

{
    name: "演示"
}

但是这种配置方式对人类太不友好了,因为你基本上不知道你当前的配置是什么,除非实际执行一下看结果。比较优雅的方式,是使用 application.yml

custom:
  app-name: "演示成功"

最终效果

{
    name: "演示成功"
}

Shellbye avatar Apr 09 '19 04:04 Shellbye