JSP中文乱码

来源:互联网 发布:左红军网络计划秒定法 编辑:程序博客网 时间:2024/05/16 15:31

jsp默认参数在传输过程中使用的编码为ISO-8859-1,中文在传输时会显示为乱码。可以通过以下设置来解决:

  1. JSP页面设置<%@ page language=”java” contentType=”text/html;
    charset=UTF-8” pageEncoding=”UTF-8”%>。

  2. 保证浏览器显示的字符编码和请求的jsp页面编码一致。

  3. Eclipse或者MyEclipse设置:Windows –> Preferences –> Web –> JSP Files –> Encoding选择ISO 10646/Unicode(UTF-8)

  4. 对于POST请求,在获取请求信息之前,需要调用request.setCharacterEncoding(“UTF-8”); 对于GET请求,先解码再编码:new String(str.getBytes(“ISO-8859-1”), “UTF-8”);

  5. 有个一劳永逸的方法,打开Tomcat安装目录下的server.xml文件:

    F:\apache-tomcat-7.0.53\conf\server.xml

    找到<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>,添加一个属性useBodyEncodingForURI=”true”。这样设置之后无论是get请求还是post请求都只需设置request.setCharacterEncoding(“UTF-8”);就可以了。(如果需要解码,那么解码也是要按UTF-8格式)