jsp中url传值中文乱码问题

时间:2023-01-12 20:14:34

1.首先先统一所有界面的编码方式,倘若关联数据库,最好数据库编码方式也统一,这样可以减少不必要的麻烦。

2.比较使用request.getparameter(“”)方式和使用request.getquerystring()方式获得的字符串,若是getquerystring方法获得的字符串为很多%组成,这好办:

使用string的spilt()方法截取=后面部分然后调用java.net.URLDecoder.decode()方法解码即可。

至于getparameter()方法

最简单的方法是:

String      s =    new   String(request.getParameter("name").getBytes("iso-8859-1"),"GBK");


但当初我试了N多方法都不可以:

后来无意中发现有人说tomcat编码方式也会导致乱码,于是,我修改了conf/server.xml里的这部分

<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="80" redirectPort="8443"  useBodyEncodingForURI="true" URIEncoding="GBK"> 

然后在获取值时只添加一句request.setcharacterencoding("gbk")居然可以了!!!

其实使用getquerystring没有这么多乱码问题,只是需要拆分字符串挺麻烦的