javaWeb中文乱码
问题归类
1.登录时无法用中文名登录
2.页面修改数据,后端传入乱码
解决方法
1.数据库
看看数据库编码集是不是中文编码集
如果不是可以在数据库中运行下面语句
ALTER DATABASE 数据库 CHARACTER SET = utf8mb4
2.数据库连接
关键是
characterEncoding=utf8
没有的加上
url=jdbc:mysql://localhost:3306/数据库?rewriteBatchedStatements=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC
3.Servlet中
在doPost中第一句加上
req.setCharacterEncoding("utf8");
我这里doGet也调用doPost了所有没有在doGet中加
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf8");
}