对于浏览器返回中文乱码的解决方式这里介绍两种,一种是让中文以字节流方式返回,需要设置返回头Content-Type属性为
"text/html;charset=UTF-8")
另一种方式是以字符流方式返回中文,需要执行resp.setContentType("text/html;charset=UTF-8");//设置response返回字符格式,
二者取得的效果相同,避免了浏览器中中文乱码的问题。
在浏览器提交中文内容存至数据库时,由于浏览器编码问题可能导致存至数据库的中文显示为乱码
参数接收中的乱码处理.POST乱码处理:
* <form method=”post”>的时候,这种提交才是POST提交.其他的都是get.
* POST方式提交的参数在请求体中.request对象在后台接收参数.request对象有缓存区.默认缓冲区的编码ISO-8859-1.
* 处理方式:设置request的缓冲区的编码.
* request.setCharacterEncoding(“UTF-8”);
GET方式乱码处理:
* GET方式提交的参数会在地址栏上显示 在请求行的路径后面.浏览器就会对路径进行一次编码.将编码后内容取出来.再进行一次编码.
* 处理方式:
* 修改服务器提交的编码.
* 采用URLEncoder 和 URLDecoder类对中文进行编码和解码.
* 使用String类的构造方法:
username = new String(username.getBytes("ISO-8859-1"),"UTF-8");
System.out.println(username);