静态文件编码的一个坑(freemarker)

来源:互联网 发布:文章查重软件 编辑:程序博客网 时间:2024/05/16 13:02

今天遇到一个很奇怪的乱码问题,从早上忙到了现在,终于找到了原因,做下记录。
问题大概是这样的,我用ftl生成xml文件,在一些ftl中存在汉字,渲染后的xml中,静态的汉字,会有个别字乱码(不是全部,是不是好奇怪)。
进行排错,首先猜测,我的文件编码格式有问题,因为我用的windows系统,编码默认GBK,猜测有可能是使用了GBK编码,将源文件在vim下,:set fileecoding,结果为utf-8,这说明源文件确实utf8编码,里面的文字,在机器中二进制也是utf8对应的几个汉字,那为什么还会乱码?freemarker官网也查了,加了各种encoding不生效。
问题发现:在我指定ftl文件绝对路径,进行渲染的时候,是不乱码的,立即猜测编译后target目录下是乱码的,查看一下果不其然。
添加maven插件如下

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>

mvn clean package
之后去target下查看,编码正常。

0 0
原创粉丝点击