刚刚自己在测试登陆注册的时候发现的问题,就是数据库乱码问题,一开始以为是1数据库自己的编码有问题后来发现并不是这样:
出现上面这个图的情况,首先说一下注册:在注册的时候要是注册用户输入汉字在数据库中显示失败就需要在注册的类中这样写:
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
这三个一定都要写
然后就是登陆时候的乱码问题,也就是你注册的时候有中文ID注册成功,但是登陆的时候输入的中文id无法通过req.getParameter传到后端,因为req.getParameter是不能自己解析中文的所以需要这样写:
userName = new String(userName.getBytes("iso-8859-1"),"utf-8");
在获取前端传过来的值的时候添加这样一句话!然后再前端jsp页面加上这样的:
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" pageEncoding="UTF-8" %>
通过以上步骤就可以成功的识别中文了!