mysql - JSP 不支持英语以外的语言登录

标签 mysql jsp tomcat utf-8 character-encoding

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

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

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

最佳答案

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

request.setCharacterEncoding("UTF-8");

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

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

另请参阅:

关于mysql - JSP 不支持英语以外的语言登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12132774/

相关文章:

java - Bootstrap 字形在 java webapp 中不起作用

java - Tomcat : 503 Service Temporarily Unavailable 问题

sql - 默认为空字符串的列

MySQL AUTO_INCRMENT 计数器出现一些问题

java - Spring模型属性/jsp不可见

jquery - 仅当自动宽度大于当前宽度时才更改元素(选择框)的宽度-jquery

javascript - 如何在页面加载后立即调用 JavaScript 方法

PHP:服务器检查用户是否登录或注销

mysql - 计算列上的内连接

tomcat - NGINX 错误 : upstream sent invalid chunked response while reading upstream