我正在尝试使用 Freemarker 打印重音字符,但在重音字符的位置,我只得到问号。我已经验证,以下声明成立:
"UTF-8" == Environment.getCurrentEnvironment().getConfiguration().getDefaultEncoding()
我可以很容易地看到,在将重音字符提供给模板之前,重音字符已正确保存在变量中。
我的 freemarker 上下文可以在这里找到:https://gist.github.com/1975239
例如代替:
Jedinečný živý koncert, kde nejen, že uslyšíte, ale i uvidíte splynutí metalové kapely s padesátičlenným orchestrem včetně.
我不断得到:
Jedine?ný ?ivý koncert, kde nejen, ?e usly?íte, ale i uvidíte splynutí metalové kapely s padesáti?lenným orchestrem v?etn?.
谢谢。
最佳答案
我能够通过在 FreeMarkerViewResolver 上设置内容类型来解决非标准符号(如 ™)的类似问题:
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
...
<property name="contentType" value="text/html;charset=UTF-8"/>
...
</bean>
关于java - Freemarker 编码 - 问号代替重音字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9559658/