彻底厘清application.properties的编码问题
问题的起因是接手了一个已经接近开发完的项目,发现application.properties
这个文件中的注释都是\u5E94这样的乱码,显然是有了编码问题,根据经验,很可能是原来的编码不支持中文字符,于是打开编辑器试图转一下编码,发现未果,于是有了如下的探索。
确定文件编码
从ItelliJ IDEA中看到编码是ISO-8859-1,期初怀疑这个结果是否有问题,于是用file
命令 进行判断,结果是 ASCII , 和IDEA中的结果是一致的,那么,问题就比较明显了,配置文件的编码是 ASCII, 但ASCII不支持中文,于是中文被转换成了\u的形式。
解决显示问题
于是试图用iconv
做编码转换,运行后再次打开,发现没有任何变化,应当是误解了iconv
的功能。恰好搜索到了application.properties的乱码问题,发现在IDEA中可以修改设置来解决。
按照图中配置,并且确定勾选了 Transparent native-to-ascii 选项后,再看配置,已经正常。
后续思考
表象的问题已经解决,但还有疑惑:
- 为什么要用ISO-8859-1这个编码
- 为什么要勾选 transparent native-to-ascii
问题1
猜想是否springboot
默认使用这个编码来读取properties文件,搜索后的结果印证了这个猜想
问题2
勾选了这个选项后,中文会被转成\u这样的形式存入文件,而在IDEA中显示的时候,会被自动转换回来,不会出现乱码。如果不勾选,那么如果配置的值包含中文,会在程序中读取该值的时候出现乱码。
小结
使用ISO-8859-1编码来存储配置,并且通过IDEA配置来达到正常显示,是可取的,但是需要开发团队保持一致,如果有的进行了配置,有的没有进行配置,还会出现乱码问题。
用ISO-8859-1进行配置存储,应该是为了解决配置值的乱码问题,因为springboot默认用此编码读取properties文件。当然也可以指定别的编码方式,只是需要一些额外设置。
彻底厘清application.properties的编码问题相关推荐
- maven项目密码md5加密_加密Spring Boot中的application.properties
1 概述 什么?都2020年了还在Spring Boot的配置文件中写明文密码? (虽然是小项目,明文也没人看.) (明文简单快捷方便啊!!! ) (你看直接用户名root密码123456多么简单!! ...
- 彻底厘清真实世界中的分布式系统
[编者的话]本文从一个实践者的角度,首先介绍了分布式系统的一些理论结果,例如 FLP 不可能性和 CAP 定理等:然后介绍了构建实际分布式系统最重要的一个原则:端到端:最后讨论了实际系统经常用到的协调 ...
- 配置访问oracle_SpringBoot中application.properties的常用配置
上篇搭建SpringBoot项目时,提到了在application.properties中修改端口号,还有很多常用的配置 1.简单配置 #应用名称spring.application.name=app ...
- springboot 两个src_springboot application.properties 写多个配置文件怎么写
展开全部 springboot application.properties 写多32313133353236313431303231363533e78988e69d8331333365643661个 ...
- [转]application.properties详解 --springBoot配置文件
本文转载:http://blog.csdn.net/lpfsuperman/article/details/78287265###; # spring boot application.propert ...
- idea下的application.properties下写汉字乱码问题
JAVA就业套餐课:https://edu.csdn.net/combo/detail/1230 在idea 中如果 application.properties中如果出现汉字 往往以编码的形式出行, ...
- springboot中配置文件application.properties的配置详情,数据源配置
pring Boot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下.Sping Boot的全局配置文件 ...
- SpringBoot application.properties读取属性配置文件中文显示为乱码问题的解决
在Spring Boot项目的application.properties中写中文的配置文件,在本地IDEA中取出来是好的,但是已jar的形式发布,再访问时发现是乱码了. 后来自己在网上搜解决办法,网 ...
- application.properties详解 --springBoot配置文件
转载侵删:https://blog.csdn.net/lpfsuperman/article/details/78287265 以下为链接原文 # spring boot application.pr ...
最新文章
- Avalonia Beta 1对WPF做了很多改进
- 信息流服务器哪种好,选购存储服务器需要注意六大关键因素,你知道几个?
- linux打包工具tar及一些压缩工具
- 图像算法三:【图像增强--空间域】图像平滑、中值滤波、图像锐化
- AngularJS第六课(路由)
- Oracle sql给一列赋值,简单的Oracle变量SQL赋值
- docker安装mysql redis_使用docker安装mysql和redis
- Android 开发问题
- 如何解决同花顺软件打开时,出现 “无法与服务器建立连接” 的问题
- Pillow EPS 矢量图转 JPG
- Python下多变量联合分布图(pairplot)绘制——seaborn
- 如何把RAR文件改成ZIP格式
- 中国普通魔方行业市场供需与战略研究报告
- 判定平方数(Python)
- oracle查询一小时内数据,ORACLE 查询近一天, 近半小时内的数据
- 数据库操作(增删改查)sql语句
- python红楼梦词云_用Python读红楼梦之——二、词云美化
- 谷歌、Microsoft、火狐浏览器主页被篡改解决方法
- 英语中’s和s’的区别
- 数学与计算机学院迎新晚会,数青春年华,计未来梦想——数学系、计算机科学系举办2016级迎新晚会...
热门文章
- ios微信分享失效_解决微信H5自定义分享在IOS下失效的问题
- 环境变量名使用 . 点号
- Linux无法联网解决办法
- 功夫熊猫 中英文对照
- 记录一次,el-radio 默认选中 ,但是无效的问题,在于resetForm从中作怪
- 使用QSettings保存和读取自定义数据类型
- 基于Python的大数据分析基础(九)--- 数据分析
- 【bzoj4070】[Apio2015]雅加达的摩天楼 set+堆优化Dijkstra
- CC00019.bigdatajava——|JavaMySQL基础.V19|——|MySQL.v19|DML_删除数据|
- CSS 盒模型 标准盒模型 IE盒模型