无法在 spring 框架中将 freemarker 模板的编码更改为 UTF-8

Can't change encoding of freemarker template to UTF-8 in spring framework

我无法将编码更改为 UTF-8,即使我明确指定了它。浏览器中的页面始终使用 ISO-8859-1 编码创建,我的语言符号显示为“???”。如果它很重要 - 我正在使用 IntelliJ IDEA.

这是 freemarker 的问题,因为当我将其更改为 jsp 时,页面生成的编码为 UTF-8。

我尝试更改编码:

  1. 检查 IDE
  2. 中的编码
  3. <#ftl 编码>
  4. <#setting url_escaping_charset="UTF-8">
  5. <#setting output_encoding="UTF-8">
  6. 在@....映射注释中指定produces参数
  7. FreeMarkerConfigurer
  8. 中指定编码
  9. FreeMarkerResolver
  10. 中指定内容类型
  11. CharacterEncodingFilter
  12. 中指定编码
  13. Filter
  14. 的实现中指定编码
  15. FreeMarkerConfigurerFactory
  16. 中指定内容类型

但没有什么没有给我一个解决方案

Result in browser

Freemarker template

Project in gitHub

我找到了解决方案 - 当我们实现 WebMvcConfigurer 并使用 registry.freemarker Spring 自己配置 freemarker 和我们 beans FreemarkerViewResolver & Configurer 没有任何影响。