我正在做一个小的Spring Mvc项目,用的是Intelj的想法。大部分时间我用的是英语,所以一切都很好。但是当我在我的网站上尝试使用utf-8(ru)字符时,我只得到了????符号而不是文本。
我在IDE中的html页面编码为utf-8。项目编码也设置为utf-8。如果我使用logging或System.out.println,IDE将在控制台中打印utf-8符号。但当我在模型中发送它们或在utf-8中仅使用html的纯文本时,一切都变得???
Html编码也设置为
我试着设置过滤器,它将所有的请求和响应编码为utf-8。仍然是相同的????符号。
我的html:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<head>
<meta charset="UTF-8"/>
<div th:replace="fragments/header :: header-css"></div>
</head>
<body>
<div th:replace="fragments/header :: header"/>
<div class="container">
<header>
<h1 align="center" th:text="${text}">
ру текст (utf-8 ru text)
</h1>
</header>
</div>
</body>
</html>
我的控制器:
@GetMapping
public ModelAndView showCheckList() {
String text = "тестовый текст";
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("text",text);
modelAndView.setViewName("shop/CheckList");
return modelAndView;
}
2条答案
按热度按时间dz6r00yl1#
通过查看您的代码,我可以说您正在使用thymeleaf作为视图技术。
参见this螺纹。
应为
templateResolver
和ThymeleafViewResolver
显式设置属性characterEncoding
:或使用注解。
plicqrtu2#
在数据库表中进行一些更改,更改字符集utf8和utf8_general_ci,如以下屏幕截图所示。