您的位置:首页 > 新闻 > 会展 > 销售管理系统需求分析_微信小程序怎么做店铺免费_广告投放平台系统_谷歌浏览器网页版在线

销售管理系统需求分析_微信小程序怎么做店铺免费_广告投放平台系统_谷歌浏览器网页版在线

2024/12/24 0:28:34 来源:https://blog.csdn.net/weixin_43373239/article/details/144090284  浏览:    关键词:销售管理系统需求分析_微信小程序怎么做店铺免费_广告投放平台系统_谷歌浏览器网页版在线
销售管理系统需求分析_微信小程序怎么做店铺免费_广告投放平台系统_谷歌浏览器网页版在线

之前很多配置都是放在nacos里面,然后这次同事有个配置写在application.properties中,这个配置含有中文,启动之后发现拿到的中文值会乱码,然后就帮忙看了一下问题。

排查问题

经过不停的百度、排查发现,spring读取application.properties配置文件时候,是ISO-8859-1的编码, OriginTrackedPropertiesLoader#load(boolean)方法会new CharacterReader(this.resource)类,OriginTrackedPropertiesLoader.CharacterReader#CharacterReader类构造器中会把配置文件读成流,编码格式是ISO-8859-1,而项目的配置文件编码格式是UTF-8(后面会讲),所以就乱码了。
在这里插入图片描述
在这里插入图片描述
配置文件中的key和value
在这里插入图片描述
乱码的key和value
在这里插入图片描述

解决

知道问题所在了,就着手解决了,这边没有采用重写一个类的方式解决,而且修改IDEA的配置。因为之前IDEA中配置文件都是ISO-8859-1的编码格式(默认就是ISO-8859-1),后面改成了UTF-8,但是当时没有在配置文件中使用中文,且为了项目都使用UTF-8,所以把配置文件也改成了UTF-8,这就是为什么一直没有遇到这种问题的原因,因为以前的项目出现中文的时候,没有改IDEA的默认配置(现在想想,IDEA多出一个这么个选项,也是有他的道理的)。
这是乱码时的IDEA配置,下面的那个properties文件默认编码格式UTF-8,所以读取出来的时候才会乱码。
在这里插入图片描述
把配置改成ISO-8859-1(改成这个之后,原来的配置文件中文会乱码,可以先复制出来,改完再拷贝进去)
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com