假设Jsp里面是(中国),不是用eclipse做开发,而是用记事本做开发,然后将写好的Jsp保存到硬盘中,记事本默认查GB2312,所以硬盘中保存的中和国的GB2312编码。当web服务器收到Jsp的访问请求时,将Jsp翻译成servlet,web服务器读硬盘,读到中和国的GB2312编码,但我们并没有告诉web服务器用什么码表翻译,所以它就默认用iso8859-1翻译,这样servlet中的数据并非是(中国)。实际上,浏览器访问的不是Jsp,而是servlet。所以我们访问看到的是乱码!
解决办法:
控制服务器的编码。通过pageEncoding指令,通知服务器用什么码表来翻译jsp。另外,还要用contentType控制浏览器以什么方式编码。
另外,用myeclipse开发的话,只要写pageEncoding="UTF-8"就可以保证不乱码。