freemarker 模板转出数据部分中文乱码问题,搞了两三个小时,后来请教大佬解决了,记录一下,避免再犯。
开始 eclipse 里面设置的默认编码是 gbk,如下图
然后我在 gbk 编码格式下编写 ftl 模板文件,如下图
编写完后打印内容发现,部分中文乱码,如下图
然后上网找呀找,网上说要设置 freemarker 编码,我按照网上说的去设置了,还是没有解决,网上说的设置如下图:
实在是不知道怎么解决了,厚着脸去找了大佬来看一下,大佬看了后发现问题所在:从数据库拿出的中文没有乱码,直接在 ftl 文件里写的中文乱码了,大佬直接:ALT + ENTER,发现 ftl 文件的默认编码为:gbk 。
解决方法:直接把 ftl 文件内容复制,把 ftl 文件编码改为 utf-8 后把文件内容粘贴回去,保存,乱码问题就解决了。
总结:问题一开始出现的时候,第一反应是编码格式不一致导致的,然后怀疑是freemarker 的编码格式问题,但是后来改为 utf-8 问题还是没解决,网上有说是文件编码为 gbk 导致的,当时我也照做了,但是发现我把文件编码改为 utf-8 时,文件的中文乱码了,然后又把编码改回去,当时心太急了,没有想过把文件内容复制出来,改为 utf-8 后再粘贴回去。