首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring mvc编码和“?”符号代替html中的utf-8符号。

Spring mvc编码和“?”符号代替html中的utf-8符号。
EN

Stack Overflow用户
提问于 2019-08-22 15:20:23
回答 2查看 333关注 0票数 1

我正在用InteIj idea做一个小的Spring Mvc项目。大多数时候我使用的是英语,所以一切都很好。但是当我尝试在我的网站上使用utf-8 (ru)字符时,我只能得到?符号而不是文本。

我在IDE中的html页面编码为utf-8。项目编码也设置为utf-8。如果我使用日志记录或System.out.println,ide会在控制台中打印utf-8符号。但是当我在一个模型中发送它们,或者在utf-8中只使用html格式的纯文本时,一切都变成了?

Html编码也设置为

我已经尝试设置过滤器,它会将所有请求和响应编码为utf-8。还是一样?符号。

我的html:

代码语言:javascript
运行
复制
<!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>

我的控制器:

代码语言:javascript
运行
复制
 @GetMapping
    public ModelAndView showCheckList() {
        String text = "тестовый текст";
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("text",text);
        modelAndView.setViewName("shop/CheckList");    
        return modelAndView;    
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-23 04:05:40

通过查看您的代码,我可以说您正在使用胸腺叶作为视图技术。

请参阅this线程。

应为templateResolverThymeleafViewResolver显式设置属性characterEncoding

代码语言:javascript
运行
复制
<bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
    ...
    <property name="characterEncoding" value="UTF-8"/>
    ...
</bean>

<bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
    ...
    <property name="characterEncoding" value="UTF-8"/>
    ...
</bean>

或者使用注解。

代码语言:javascript
运行
复制
@Bean
    public ThymeleafViewResolver thymeleafViewResolver() {
        ThymeleafViewResolver resolver = new ThymeleafViewResolver();
        resolver.setTemplateEngine(templateEngine());
        resolver.setCharacterEncoding("UTF-8");
        return resolver;
    }
票数 1
EN

Stack Overflow用户

发布于 2019-08-22 16:38:27

在数据库表中进行一些更改,更改字符集utf8和utf8_general_ci,如下面的屏幕截图所示。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57603985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档