我希望使用UTF-8字符编码,但我在某个地方读到控制器默认的编码是ISO-8859-1。
我正在使用Spring Boot和Velocity。
所以我尝试向头部添加以下内容(一次只添加一个),但没有一个有效:
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
在application.properties文件中添加以下行:
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.velocity.charset=UTF-8
spring.velocity.content-type=text/html
server.tomcat.uri-encoding = UTF-8
我甚至尝试在控制器中添加以下行:
@RequestMapping(value = "/", method = RequestMethod.GET, produces={"text/html; charset=UTF-8"})
Plus尝试将以下bean添加到应用程序类中:
@Bean
public HttpMessageConverter<String> responseBodyConverter() {
HttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
return converter;
}
这里是一个样例文本,我包含在速度模板中:
A sötét lovag igazi főhőse azonban valahogy ezúttal mégsem a mostanság nőnemű családtagjait szállodaszobábkban riogató Christian Bale, azaz a denevérember lett - hanem az ellenfél.
这是我得到的输出结果:
A sötét lovag igazi fÅhÅse azonban valahogy ezúttal mégsem a mostanság nÅnemű családtagjait szállodaszobábkban riogató Christian Bale, azaz a denevérember lett - hanem az ellenfél.
编辑:
这是我目前正在使用的控制器:
@RequestMapping(value = "/", method = RequestMethod.GET, produces={"text/html; charset=UTF-8"})
public String homepage(Map<String, Object> model) {
return "homepage";
}
我有一个 templates 文件夹下的 homepage.vm 文件,其中有一个包含以下代码的头部分文件:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">