POST中文乱码解决方式:
POST通过request body传递参数。设置response的字符流的编码方式为UTF-8。
request.setCharacterEncoding("UTF-8"); 这句话解决了POST方式提交的中文乱码问题,这个方法设置了请求正文中的字符编码,所以服务器解析的时候会按照UTF-8的形式进行解码。但是这个方法对get方式没有效果。
(推荐:java视频教程)
GET中文乱码解决方式
GET方式通过url进行传递参数。
// 下面的方式可以解决post或者get方式的中文乱码问题// 这里接收的name是iso8859-1的字符编码String name = request.getParameter("username");// 将name字符串按照原来字符编码打散byte[] bytes = name.getBytes("ISO8859-1");// 将bytes字节数据按照指定字符编码字符编码进行组装,组装为Stringname = new String(bytes, "UTF-8");//真正的写法:name = new String(name.getBytes("ISO8859-1"), "UTF-8");
更多java知识请关注java基础教程栏目。