Servlet中文乱码的处理
Servlet中文输出问题的原理
浏览器接收到的中文字符并不是中文符号本身,而是它的某种字符集编码的数据。
浏览器必须使用正确的字符集编码进行查看,才能将它所接收到的数据显示为正确的中文字符。ServletResponse对象的getWriter方法返回的PrintWriter对象默认使用ISO8859-1字符集编码进行Unicode字符串到字节数组的转换,由于ISO8859-1字符集中根本就没有中文字符,Unicode编码的中文字符将被转换成无效的字符编码后输出给客户端。
Servlet中文输出问题的解决办法
ServletResponse接口中定义了setCharacterEncoding、setContentType等方法来指定ServletResponse.getWriter方法返回的PrintWriter对象所使用的字符集编码。
调用ServletResponse接口中定义的setContentType方法,在HTTP响应消息的Content-Type头字段中指定响应正文的字符集编码。