Apache Velocity的编码问题包括

Nat*_*n H 2 html encoding velocity

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

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

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

如果我创建一个单独的VM文件,并将其包含如下:

#parse("topicoftheday/homepagenews.vm")
Run Code Online (Sandbox Code Playgroud)

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

米兰达克尔并没有成为维多利亚的秘密天使

怎么样?为什么?

谢谢

ZZ *_*der 5

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

  1. UTF-8中的VM文件.
  2. 拉丁语-1中的速度.
  3. ANSI中的终端/ JVM.

您使用的是非ASCII撇号U + 2019.UTF-8序列是E2 80 19,恰好是你在Latin-1中看到的3个字符,显示为ANSI.

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

对于velocity,设置此参数,

input.encoding = UTF-8
Run Code Online (Sandbox Code Playgroud)

  • 我们在哪里设置该参数? (2认同)