Spring MVC 应用程序中的 UTF8 转换错误

发布于 2024-12-10 21:07:36 字数 775 浏览 0 评论 0原文

我在 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”的Spring消息转换器上-www-form-urlencoded”内容。 我找不到哪个转换器对输入数据进行了此类转换。

我正在使用 Apache Tomcat 版本 6.0.26。

web.xml - bit.ly/ph0t7j

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

I have some trouble with Spring HTTP message conversion. In my app I have the login form.
When registered user try to login he get the login error ( redirect to /login?login_error=1)
The actual input username is
¡¢£¤¥¦§¨©ª«¬­®¯°±²³

The request content is
http://bit.ly/oCmwwP

The UsernamePasswordAuthenticationFilter get as input parameter the miscoded username.

For example, the expected username (encoded ¡¢£¤¥¦§¨©ª«¬­®¯°±²³) is
%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

But the actual input data is
A?A?A?A¤A?A¦A§A?A©A?A«A¬A­A®A?A°A±A?A?

Also you may see it on the debugger screenshot
http://bit.ly/qIWFLj

I think the problem may be with Spring message converter for the "application/x-www-form-urlencoded" content.
I couldn't find what converter made such conversion for the input data.

I'm using Apache Tomcat Version 6.0.26.

web.xml - bit.ly/ph0t7j

Thank you for your time. I would really appreciate for any help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烙印 2024-12-17 21:07:36

我已经解决了这个问题。

解决方案

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

I have solved this issue.

Solution

I have moved the encoding-filter in the web.xml to the first place in the filter chain.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文