今天在写一个jsp的简单功能,出现一个问题,我从页面提交了数据之后,到了数据库,之后就是乱码,读取出来不管用什么 编码也是乱码,用老师的方法,配置encoding过滤器后还是乱码,在servlet中:
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
这样似乎也没有用,自己的页面的编码也设置成了utf-8
@ page language="java" pageEncoding="UTF-8"
@ page language="java" pageEncoding="UTF-8"
在网上找了很久,都没有找到资料:
无意中看到一句话,不知道可信不可信:
就是我们在用 request.getParameter()来获取的数据一般是iso-8859-1编码的,如果直接用req.setCharacterEncoding("utf-8")是不行的,需要把获取到的编码,用iso-8859-1获得它得bytes[]字节数组,再用String用utf-8编码成字符串
user.setEducation(new String(req.getParameter("education").getBytes("iso-8859-1"),"utf-8"));