在
pageEncoding只设置响应的字符编码和
charset所述HTTP的属性
Content-Type标题中。基本上,它告诉服务器将JSP生成的字符解码为UTF-8,然后再发送给客户端,而标头则告诉客户端使用UTF-8对其进行编码,并且当同一页面中的任何形式为提交回服务器。在
contentType已经默认为
text/html,所以下面就足够了:
<%@page pageEncoding="UTF-8"%>
通过HTTP提供页面时,将忽略HTML元标记。仅当客户端将页面另存为HTML文件并在本地磁盘系统上 然后 由
file://浏览器中的URI
打开页面时,才使用它。
在您的特定情况下,HTTP请求正文编码显然未设置为UTF-8。在请求中涉及的任何servlet或过滤
ServletRequest#setCharacterEncoding()器中
进行 首次调用 之前 ,都需要在servlet或过滤器中设置请求主体编码
request.getXxx()。
request.setCharacterEncoding("UTF-8");String login = request.getParameter("login");String password = request.getParameter("password");// ...


