我有一个在Tomcat5上运行的web应用程序。在jsp页面中,比如page1.jsp,有一些复选框,其中title和value包含一些法语字符(Français)。当我选中一些复选框并提交页面时,页面转到page2.jsp,在这里我显示了所选的标题。问题是,在这个页面上,特殊字符正在发生变化(Français)。当表单的方法是"POST“时,就会发生这种情况。在"GET“的情况下,它工作得很好。在Tomcat的server.xml中,uriEncoding被定义为"UTF-8“。我已经看了这么多帖子,但问题仍然存在。
发布于 2009-09-09 08:45:00
我做了个测试。您需要将accept-charset添加到表单标记中:
<form ... accept-charset="UTF-8" ...>..。并在读取任何参数之前告诉容器使用哪种编码,因为浏览器不会发送它在header中使用的编码:
request.setCharacterEncoding("UTF-8");最后,确保在响应头和head的meta标记中都设置了输出页面的编码。
发布于 2009-09-09 19:05:24
看起来使用了混合编码。请进行以下更改,
<Connector>有URIEncoding="UTF-8“。只需进行此更改并尝试您的GET。如果它中断了就好了:)servlet将以下内容添加到您所有的JSP中:<%@page pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %>发布于 2010-08-05 14:32:14
你可能想看看这里的答案:UTF-8 and Servlets on Tomcat/Linux
https://stackoverflow.com/questions/1398372
复制相似问题