Skip to content

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

Open
@Shellbye

Description

@Shellbye

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

custom.appName="演示"

那么最终的结果就成为了

{
    name: "�示"
}

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

custom.appName="\u6f14\u793a"

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

{
    name: "演示"
}

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

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

最终效果

{
    name: "演示成功"
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions