Servlet:请求和响应的中文显示问题

一、请求参数中的中文乱码问题

      对于请求对象,使用setCharacterEncoding(“UTF-8”)方法

二、响应输出中文乱码

      一般在Servlet输出纯文本时,通常会用ServletResponse对象的getWriter方法返回一个PrintWriter对象,然后利用这个对象把文本输出到客户端。
      PrintWriter对象输出默认使用ISO-8859-1字符集进行编码,所以会出现中文了乱码的情况,这里就需要设置一些ServletResponse的字符集编码方式。
      指定字符集编码:

  • response.setCharacterEncoding(“UTF-8”)
  • response.setContextType(“text/html;charset=UTF-8”)
  • response.setLocale(new java.util.Locale(“zh”,“CN”))

      三者区别:

  • 第一种方法只能设置字符输出流的编码方式,且优先级最高,可以覆盖后面两种方法。
  • 第二种方法既可以设置编码方式,也可以设置浏览器的解码方式,优先级介于中间。
  • 第三种方式只能设置字符输出流编码方式,优先级最低。
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页