Velocity模板似乎因UTF-8而失败

ste*_*eve 18 java velocity utf-8

我一直在尝试使用具有以下内容的速度模板:

Sübjäct $item

除了两个Unicode字符的翻译外,一切正常.打印在命令行上的结果字符串如下所示:

Sübjäct foo

我搜索了速度网站和网页上的这个问题,并提出了不同的字体编码选项,我将其添加到我的代码中.但这些没有帮助.这是实际的代码:

velocity.setProperty("file.resource.loader.path", absPath);
velocity.setProperty("input.encoding", "UTF-8");
velocity.setProperty("output.encoding", "UTF-8");

Template t = velocity.getTemplate("subject.vm");
t.setEncoding("UTF-8");

StringWriter sw = new StringWriter();

t.merge(null, sw);       
System.out.println(sw.getBuffer());
Run Code Online (Sandbox Code Playgroud)

我如何解决这个问题?

Jon*_*eet 38

你尝试过使用这种语法吗?

Template template = Velocity.getTemplate("subject.vm", "UTF-8");
Run Code Online (Sandbox Code Playgroud)

看起来它应该做正确的事情.