Shellbye.github.io
Shellbye.github.io copied to clipboard
Spring Boot .properties 编码 UTF-8 支持问题历史
Spring Boot
支持用户自定义配置,这样可以把一些未来可能改变的值提取到配置文件中,将来修改就不需要修改代码了。但是因为某些历史原因,application.properties
只支持ISO-8859-1
编码,如果我们的配置中包含中文,如下
custom.appName="演示"
那么最终的结果就成为了
{
name: "æ¼ç¤º"
}
网络上提出了很多的解决方案,比如使用这个转换工具,可以把中文转成unicode
,这个时候我们的配置就成了
custom.appName="\u6f14\u793a"
这样最终的结果是可以接收的,如下
{
name: "演示"
}
但是这种配置方式对人类太不友好了,因为你基本上不知道你当前的配置是什么,除非实际执行一下看结果。比较优雅的方式,是使用 application.yml
custom:
app-name: "演示成功"
最终效果
{
name: "演示成功"
}