页面上的所有数据都正确显示。文本,退出数据库,包括。但是当提交表单时,控制器会出现在文本窗口中 - 1252。
在jsp编码中指定。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
也适用于表格。
<form:form method="POST" action="/event" modelAttribute="message" acceptCharset="UTF-8">
在web.xml中过滤
<filter>
<filter-name>encoding-filter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
可能是什么问题?
答案 0 :(得分:1)
如果CharacterEncodingFilter不是第一个,则会出现此问题。在我的情况下,它应该归咎于spring security
。在所有配置从java config
移至xml
并在过滤器spring security
之前设置CharacterEncodingFilter之后,数据开始以正确的编码进行。