【问题标题】:Wrong UTF8 conversion in the Spring MVC appSpring MVC 应用程序中错误的 UTF8 转换
【发布时间】:2011-10-19 11:19:12
【问题描述】:

我在使用 Spring HTTP 消息转换时遇到了一些问题。在我的应用程序中,我有登录表单。 当注册用户尝试登录时,他收到登录错误(重定向到 /login?login_error=1) 实际输入的用户名是 ¡¢£¤¥¦§¨©ª«¬®¯°±²³

请求内容是 http://bit.ly/oCmwwP

UsernamePasswordAuthenticationFilter 获取错误编码的用户名作为输入参数。

例如,预期的用户名(编码为¡¢£¤¥¦§¨©ª«¬®¯°±²³)是 %C2%A1%C2%A2%C2%A3%C2%A4%C2%A5%C2%A6%C2%A7%C2%A8%C2%A9%C2%AA%C2%AB%C2%AC%C2 %AD%C2%AE%C2%AF%C2%B0%C2%B1%C2%B2%C2%B3

但实际输入的数据是 A?A?A?A¤A?A¦A§A?A©A?A«A¬AA®A?A°A±A?A?

您也可以在调试器屏幕截图中看到它 http://bit.ly/qIWFLj

我认为问题可能出在“application/x-www-form-urlencoded”内容的 Spring 消息转换器上。 我找不到哪个转换器对输入数据进行了这种转换。

我使用的是 Apache Tomcat 版本 6.0.26。

web.xml - bit.ly/ph0t7j

感谢您的宝贵时间。非常感谢您的帮助

【问题讨论】:

标签: java spring http jakarta-ee spring-mvc


【解决方案1】:

我已经解决了这个问题。

解决方案

我已将 web.xml 中的编码过滤器移至过滤器链中的第一位。

【讨论】:

    猜你喜欢
    • 2013-12-28
    • 2015-07-09
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    相关资源
    最近更新 更多