servlet中文乱码常见有三个类型:
1.今天在做项目的时候,发现在servlet中查询MySql数据库时,SQL语句中含有中文,总是无法查询出结果。然后我把SQL语句直接放在MySQLWorkbench中进行查询,就可以得出结果。我觉得是servlet端中文乱码的问题没有处理。然后我再连接数据库的URL中添加了一句:characterEncoding=utf8,问题就解决了。添加方法如下:
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/AttendanceDatabase?characterEncoding=utf8","root","123456") ;
2.第二种是servlet接收中文参数的乱码问题,我们可以在request中设置字符集就可以了。设置方法如下:
request.setCharacterEncoding("utf-8");
3.第三种是向客户端返回数据是的乱码问题,我们可以在response中设置字符集来解决。设置方法如下:
response.setCharacterEncoding("UTF-8");