JSP网页出现乱码的最根本的原因,在于
(划重点!!!)
——Web容器默认编码方式是iso-8859-1
。
数据在JSP中传送接收的时候就会使用iso-8859-1编码方式来传输,比如我们提交表单,然后用request.getParameter()方法获得参数时,就会获得乱码。
解决办法:
在使用request对象前,先用
request.setCharacterEncoding ("UTF-8");
指定request的编码方式,这样就不会产生乱码了。
最后说一些基本的编码规则:
(1)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
这个是这个页面(.html,.jsp)显示的编码规则,如果存储时没有乱码,但是显示时乱码,可以设置这个属性。
(2) <%@ page contentType="text/html;charset=UTF-8"%>
这个是解码规则,也就是你提交到服务器(Tomcat),它会以怎样的方式解码。
(3)<%@ page language="java" pageEncoding="UTF-8"%>
这个是文件保存编码规则,Tomcat会另外生成一个servlet,这个就是我们指定的保存那份文件时用的编码方式。