问题的起因是接手了一个已经接近开发完的项目,发现application.properties 这个文件中的注释都是\u5E94这样的乱码,显然是有了编码问题,根据经验,很可能是原来的编码不支持中文字符,于是打开编辑器试图转一下编码,发现未果,于是有了如下的探索。

确定文件编码

从ItelliJ IDEA中看到编码是ISO-8859-1,期初怀疑这个结果是否有问题,于是用file 命令 进行判断,结果是 ASCII , 和IDEA中的结果是一致的,那么,问题就比较明显了,配置文件的编码是 ASCII, 但ASCII不支持中文,于是中文被转换成了\u的形式。

解决显示问题

于是试图用iconv 做编码转换,运行后再次打开,发现没有任何变化,应当是误解了iconv 的功能。恰好搜索到了application.properties的乱码问题,发现在IDEA中可以修改设置来解决。


按照图中配置,并且确定勾选了 Transparent native-to-ascii 选项后,再看配置,已经正常。

后续思考

表象的问题已经解决,但还有疑惑:

  1. 为什么要用ISO-8859-1这个编码
  2. 为什么要勾选 transparent native-to-ascii

问题1

猜想是否springboot默认使用这个编码来读取properties文件,搜索后的结果印证了这个猜想

问题2

勾选了这个选项后,中文会被转成\u这样的形式存入文件,而在IDEA中显示的时候,会被自动转换回来,不会出现乱码。如果不勾选,那么如果配置的值包含中文,会在程序中读取该值的时候出现乱码

小结

使用ISO-8859-1编码来存储配置,并且通过IDEA配置来达到正常显示,是可取的,但是需要开发团队保持一致,如果有的进行了配置,有的没有进行配置,还会出现乱码问题。

用ISO-8859-1进行配置存储,应该是为了解决配置值的乱码问题,因为springboot默认用此编码读取properties文件。当然也可以指定别的编码方式,只是需要一些额外设置。

彻底厘清application.properties的编码问题相关推荐

  1. maven项目密码md5加密_加密Spring Boot中的application.properties

    1 概述 什么?都2020年了还在Spring Boot的配置文件中写明文密码? (虽然是小项目,明文也没人看.) (明文简单快捷方便啊!!! ) (你看直接用户名root密码123456多么简单!! ...

  2. 彻底厘清真实世界中的分布式系统

    [编者的话]本文从一个实践者的角度,首先介绍了分布式系统的一些理论结果,例如 FLP 不可能性和 CAP 定理等:然后介绍了构建实际分布式系统最重要的一个原则:端到端:最后讨论了实际系统经常用到的协调 ...

  3. 配置访问oracle_SpringBoot中application.properties的常用配置

    上篇搭建SpringBoot项目时,提到了在application.properties中修改端口号,还有很多常用的配置 1.简单配置 #应用名称spring.application.name=app ...

  4. springboot 两个src_springboot application.properties 写多个配置文件怎么写

    展开全部 springboot application.properties 写多32313133353236313431303231363533e78988e69d8331333365643661个 ...

  5. [转]application.properties详解 --springBoot配置文件

    本文转载:http://blog.csdn.net/lpfsuperman/article/details/78287265###; # spring boot application.propert ...

  6. idea下的application.properties下写汉字乱码问题

    JAVA就业套餐课:https://edu.csdn.net/combo/detail/1230 在idea 中如果 application.properties中如果出现汉字 往往以编码的形式出行, ...

  7. springboot中配置文件application.properties的配置详情,数据源配置

    pring Boot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下.Sping Boot的全局配置文件 ...

  8. SpringBoot application.properties读取属性配置文件中文显示为乱码问题的解决

    在Spring Boot项目的application.properties中写中文的配置文件,在本地IDEA中取出来是好的,但是已jar的形式发布,再访问时发现是乱码了. 后来自己在网上搜解决办法,网 ...

  9. application.properties详解 --springBoot配置文件

    转载侵删:https://blog.csdn.net/lpfsuperman/article/details/78287265 以下为链接原文 # spring boot application.pr ...

最新文章

  1. Avalonia Beta 1对WPF做了很多改进
  2. 信息流服务器哪种好,选购存储服务器需要注意六大关键因素,你知道几个?
  3. linux打包工具tar及一些压缩工具
  4. 图像算法三:【图像增强--空间域】图像平滑、中值滤波、图像锐化
  5. AngularJS第六课(路由)
  6. Oracle sql给一列赋值,简单的Oracle变量SQL赋值
  7. docker安装mysql redis_使用docker安装mysql和redis
  8. Android 开发问题
  9. 如何解决同花顺软件打开时,出现 “无法与服务器建立连接” 的问题
  10. Pillow EPS 矢量图转 JPG
  11. Python下多变量联合分布图(pairplot)绘制——seaborn
  12. 如何把RAR文件改成ZIP格式
  13. 中国普通魔方行业市场供需与战略研究报告
  14. 判定平方数(Python)
  15. oracle查询一小时内数据,ORACLE 查询近一天, 近半小时内的数据
  16. 数据库操作(增删改查)sql语句
  17. python红楼梦词云_用Python读红楼梦之——二、词云美化
  18. 谷歌、Microsoft、火狐浏览器主页被篡改解决方法
  19. 英语中’s和s’的区别
  20. 数学与计算机学院迎新晚会,数青春年华,计未来梦想——数学系、计算机科学系举办2016级迎新晚会...

热门文章

  1. ios微信分享失效_解决微信H5自定义分享在IOS下失效的问题
  2. 环境变量名使用 . 点号
  3. Linux无法联网解决办法
  4. 功夫熊猫 中英文对照
  5. 记录一次,el-radio 默认选中 ,但是无效的问题,在于resetForm从中作怪
  6. 使用QSettings保存和读取自定义数据类型
  7. 基于Python的大数据分析基础(九)--- 数据分析
  8. 【bzoj4070】[Apio2015]雅加达的摩天楼 set+堆优化Dijkstra
  9. CC00019.bigdatajava——|JavaMySQL基础.V19|——|MySQL.v19|DML_删除数据|
  10. CSS 盒模型 标准盒模型 IE盒模型