JSP向页面输出时出现乱码
如果出现情况,则是JSP所使用的编码方式与页面的不同
首先看JSP所使用的编码方式:(这里设置的为UTF-8的编码方式)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
这里也可以在Window->Web->JSP Files->Encoding下统一改成UTF-8,以后新建的JSP文件就默认生成的为UTF-8的格式。
这时候再看浏览器的编码方式,与JSP的编码保持一致即可。
通过get,post提交表单的时候出现乱码
post请求出现乱码:
如果是post表单请求,这时候只需要在处理前加上request.setCharacterEncoding(“UTF-8”)即可。
get请求出现乱码:
因为一般默认的编码为iso-8859-1,这里就需要先解码后编码。
String val = request.getParameter("需要的具体参数名");
//iso-8859-1为默认的,UTF-8为目的编码
String user=new String(val.getBytes("iso-8859-1"),"UTF-8");
除了这种方法,还可以直接在tomcat安装目录下的配置文件下修改:
server.xml下:Connector中加上URIEncoding=”UTF-8”
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
修改完之后,不要忘记在eclipse下Servers->server.xml
下Connector中加上URIEncoding=”UTF-8”