2

我正在使用 Netbeans IDE 开发一个用于登录的 JSP 项目。登录 ID 是印地语,出现在我的 MySQL 数据库中,显示用户 ID 的印地语字体。

当我在 Netbeans 中运行这个项目时,它工作正常并且我可以成功登录,但是当我在 Tomcat 管理器中部署 WAR 后尝试登录时,我无法登录。

我需要将 UTF-8 添加到 web.xml 文件吗?

4

1 回答 1

2

您很可能没有使用 UTF-8 处理 POST 请求正文。您可以通过在请求正文被触摸之前添加以下行来强制执行此操作(即第一次调用 a之前request.getParameter(),依此类推):

request.setCharacterEncoding("UTF-8");

为了防止在所有 servlet 上重复/复制粘贴这一行,一种常见的方法是创建一个servlet 过滤器来完成这项工作。然后,您可以将其映射到 URL 模式上,/*以将其应用于所有传入请求。

我认为您已经正确地完成了它,但是您还应该确保您的 JSP 也使用 UTF-8 发出响应,<%@page pageEncoding="UTF-8"%>或者至少是一个 适用于所有JSP的<jsp-config>条目。web.xml

也可以看看:

于 2012-08-27T21:28:32.767 回答