向浏览器写入数据时乱码问题
- 使用字节流向浏览器写入数据
response.getOutputStream().write("中文".getBytes());
response.setHeader("Content-Type","text/html;charset=UTF-8");
- 使用字符流向浏览器写入数据
response.getWriter().println("中文");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Type","text/html;charset=UTF-8");
response.getWriter().println("中文");
response.setContentType("text/html;charset=UTF-8");
读取浏览器数据时乱码问题
- POST方式接收中文
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
System.out.println("姓名:"+name);
- GET方式接收中文
String name = request.getParameter("name");
String encode = URLEncoder.encode(name, "ISO-8859-1");
String decode = URLDecoder.decode(encode, "UTF-8");
System.out.println("姓名:"+decode);
String value = new String(name.getBytes("ISO-8859-1"),"UTF-8");
System.out.println("姓名:"+value);
``