我正在使用Netbeans IDE开发一个用于登录的JSP项目。登录ID是印地语,这是出现在我的MySQL数据库中,其中显示用户ID的印地语字体。
当我在Netbeans中运行这个项目时,它工作得很好,我可以成功登录,但是当我在Tomcat Manager中部署WAR之后尝试登录时,我无法登录。
是否需要将UTF-8添加到web.xml文件中?
发布于 2012-08-28 05:28:33
您很可能没有使用UTF-8处理POST请求正文。您可以通过在请求正文被触及之前(即,在第一次调用request.getParameter()之前等)添加以下行来强制执行此操作:
request.setCharacterEncoding("UTF-8");为了防止在所有的servlet中重复/复制此行,一种常见的方法是创建一个servlet filter来完成这项工作。然后,您可以将其映射到/*的URL模式上,以将其应用于所有传入的请求。
我认为您已经正确地完成了这项工作,但是您还应该确保您的JSP使用UTF-8通过<%@page pageEncoding="UTF-8"%>发出响应,或者至少在web.xml中使用适用于所有JSP的<jsp-config>条目发出响应。
另请参阅:
https://stackoverflow.com/questions/12132774
复制相似问题