Apache Velocity的编码问题包括

时间:2009-11-24 20:59:36

标签: html encoding velocity

我有一个velocity / html文件。 我正在尝试将一些简单的HTML包含/解析到页面中。

如果我只是直接在主文件上复制文本,它可以正常工作:

  

Miranda Kerr不是维多利亚的   秘密天使... ...

如果我创建一个单独的VM文件,并将其包括在内:

#parse("topicoftheday/homepagenews.vm")

我得到了糟糕的角色垃圾:

  

Miranda Kerr不是一个   

的维多利亚秘密天使

如何?为什么呢?

由于

1 个答案:

答案 0 :(得分:5)

看起来你使用了3种编码,

  1. UTF-8中的VM文件。
  2. 拉丁语-1中的速度。
  3. ANSI中的终端/ JVM。
  4. 您使用的是非ASCII撇号U + 2019。 UTF-8序列是E2 80 19,恰好是您在Latin-1中看到的3个字符,显示为ANSI。

    您需要将所有这些更改为UTF-8,因为Latin-1 / ANSI没有此字符。或者你应该使用ASCII撇号'。

    对于velocity,请设置此参数

    input.encoding = UTF-8