客户端向服务端提交参数,中文乱码

get提交的参数 中文乱码

  1. 解决方案:<br /> 先获取到参数,得到一个乱码的值:String value = request.getParameter(String name);<br /> 手动进行转码:value = new String(value.getBytes("iso-8859-1"), "utf-8");<br /> 转换之后,得到的就是正确的中文内容

post提交的参数,中文乱码

  1. 解决方法:<br /> 在获取参数之前,先执行代码:request.setCharacterEncoding("utf-8");<br /> 之后接收的所有post参数都不会乱码

服务端向客户端传输数据,中文乱码

字符型响应体,设置中文,页面显示乱码

  1. 解决方案:<br /> 在获取输出流writer之前,先执行代码:response.setContentType("text/html;charset=utf-8");<br /> 之后设置的中文,页面显示正常

下载文件时,中文文件名称乱码(通过响应头Content-Disposition设置的值)

  1. 解决方案:<br /> 在设置中文文件名称之前,先把文件名称进行转码:<br /> String clientFilename = this.encodeFilename(request, filename);<br /> 再把转码后的文件名称设置到响应头里<br /> response.setHeader("Content-Disposition","attachment;filename=" + clientFilename);<br /> 之后,页面下载文件时,中文文件名称正常