我正在尝试提交一个表单,其中包含 UTF8 字符。表格如下所示:
<form id="workflowPersistForm" accept-charset="UTF-8" method="post" action="/workflow-next">>
<input id="stateGlobal" type="hidden" value=" お問い合わせ" name="state">
</form>
我的服务器是基于弹簧的。我的 web.xml 已经有编码过滤器:
<filter>
<filter-name>EncodingFilter</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>
问题是 UTF-8 字符在某处被弄乱了。我在控制器的开始处设置了一个断点,而角色本身在那个时候就搞砸了。此外,如果我在 Controller 中生成 UTF8 字符,它会在浏览器中正确呈现。就在表单发布上,控制器没有正确接收字符。
知道我可能做错了什么吗?
编辑:看起来,新页面中的数据并没有乱七八糟,而是双重编码。我无法理解为什么它是双重编码的。
编辑 2:当我将表单更改为获取而不是发布时,一切正常。我不知道什么帖子被打破了。