日期:2014-05-16  浏览次数:20432 次

jsp之中文乱码问题

web编程的时候,我们兴许会遇到各种各样的中文乱码问题。

下面是几种解决方案:

Get方式的乱码解决方案:

修改tomcatconf目录下的server.xml,Connector中加入URIEncoding="gb2312"

: <Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

debug="0" connectionTimeout="20000"

disableUploadTimeout="true" URIEncoding="gb2312" />

Post:

???????1.request. setCharacterEncoding (“GBK”);

???????2.写过滤器。(这种应该是最合理的解决方案了!)

???????3.String s = new String(s.getBytes(),"GBK");

?

我们必须要明白的是:

????? 1)request是从浏览器端向服务器端发送数据,response是服务器端向浏览器端返回数据,在Tomcat服务器下,默认是有Tomcat引擎去调用的。(具体的说是有service方法去调用的)。

????? 2)在使用request的时候,如果我们不指定request的编码(request. setCharacterEncoding (“GBK”);),则默认会使用Tomcat的默认编码方式(通常是ISO-8859-1)。如果这个时候传入的有中文,即使是Post方式,则也有可能出来是乱码。

上传的是关于在网上搜集到的关于jsp的内容的一些资料的汇总!

jsp的编码问题弄了很长时间了,但是感觉有些地方还是存在着一些疑问,等到以后再明白些之后再写吧!