一、request传参数乱码问题
在最基础的doPost里加一句,设置请求的参数用utf-8解码。
如果不设置请求参数的编码,浏览器会把默认把请求参数编码成ISO-8859-1。我们想要的是编码成utf-8,方便数据库的识别,因为数据库设置的是解码utf-8的,ISO-8859-1的编码用utf-8解码是变不会原来中文的。设置了请求编码utf-8就会编码成utf-8。
//★★这句话特别重要,解决post请求传参数的乱码问题
//(设置请求编码是utf-8,而不是默认的"ISO-8859-1")
//一定要在获取请求参数之前调用,所以放在第一行
req.setCharacterEncoding("utf-8");
二、响应中文乱码
//浏览器响应中文乱码问题
resp.setContentType("text/html;charset=utf-8");
十分重要:一般来说,1,2请求和响应乱码解决都是在BaseServlet的doGet或者doPost里加上两句话。