JavaEE中Web请求/响应出现中文乱码问题的解决~

Request请求对象中文乱码问题:

<注:请求页面的html文件中的<meta charset="utf-8">可指定浏览器的解码方式,Tomcat服务器的编码方式为:ISO-8859-1>

Get请求:

eg:

 String name=request.getParameter("name");name=URLEncoder.encode(name,"iso-8859-1");    //先用Tomcat的编码对问题字符串进行编码name=URLDecoder.decode(name,"utf-8");      //后用浏览器的编码对上面编码后的字符串再进行解码操作

Post请求:

  request.setCharacterEncoding("utf-8");     //指定服务器的编码方式(与浏览器的编码一致即可)

Response响应对象中文乱码问题:

字符流中文乱码问题解决:

eg:

	/*字符流中文乱码问题解决方案*/	String userName = request.getParameter("username");response.setCharacterEncoding("utf-8");                   //设置服务器的编码方式response.setContentType("text/html;charset=utf-8");      //设置浏览器的解码方式PrintWriter writer = response.getWriter();writer.write("Hello "+userName);

字节流中文乱码问题解决:

eg:

    /*字节流中文乱码问题解决方案*/response.setContentType("text/html;charset=utf-8");     //设置浏览器的解码方式ServletOutputStream outputStream = response.getOutputStream();outputStream.write(("Hello "+userName).getBytes("utf-8"));   //设置服务器的编码方式

<注:务必确保浏览器和服务器的编码方式一致>

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注