在Spring的applicationContext.xml文件中设置和读取properties资源文件时,如果properties文件是UTF-8编码的,并且需要读取的内容包含中文,那么采取默认的property-placeholder标签配置,则读取属性时便会出现乱码!

通过度娘找到很多相似的问题,但几乎都只有一个解决办法,就是使用jdk自带的native2ascii.exe工具,将properties文件中的中文变为编码的形式,若采用这种办法,那么properties文件几乎是没有可读性的!

查阅Spring的官方手册(spring-framework-reference.pdf),发现配置文件中的context:property-placeholder标签对应的是PropertyPlaceholderConfigurer类,再去查Spring的javadoc-api,发现这个类中有一个setFileEncoding方法,可以设置读取properties文件的编码格式,有戏啊!那么context:property-placeholder标签中有没有对应的attribute可以设置呢?再次查阅applicationContext.xml文件针对context:property-placeholder标签的xsd校验文件(spring-context-4.0.xsd),发现propertyPlaceholder元素有个file-encoding属性,于是乎马上用到配置文件中,乱码问题终于解决了!

 

也就是将原来的:

 

 

  1. <context:property-placeholder location="classpath:*.properties"/>  
  2. <context:property-placeholder location="classpath:*.properties" file-encoding="UTF-8"/>

关于法定节假日的问题

1995年5月, 中国开始实行每周5天工作制。 1999年9月18日,中国国务院发布《全国年节及纪念日放假办法》,决定增加公众法定休假日。春节、“五一”和 “十一...

阅读全文

CentOS下shadowsocks-libev一键安装脚本

本脚本适用环境: 系统支持:CentOS 内存要求:≥128M 日期:2018 年 06 月 01 日 关于本脚本: 一键安装 libev 版的 Shadowsocks 最新版本。该版本的特点...

阅读全文

在MAC上安装docker并部署oracle12.2

一。在Mac上安装docker。到docker store下载即可。下载地址是:https://store.docker.com/editions/community/docker-ce-desktop-mac。其实我们还可以看到别...

阅读全文

评论已经关闭。