1.最常用的解决方案:
该方法是通过Java本身的编码转换功能来完成,不依赖于Web服务器。
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String s = "中文消息";
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println(s);
}
通过这个方法,设置Content-Type响应消息头的值,设置服务端转换字符是所使用的编码格式。
2.服务器不支持使用setContentType方法
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String s = "中文消息";
PrintWriter out = response.getWriter();
response.setHeader("Content-Type","text/html;charset=utf-8");
out.println(new String(s.getBytes("utf-8"),"iso-8859-1"));
}
该方法是通过Java本身的编码转换功能来完成,不依赖于Web服务器。