首页 > 开发 > JSP > 正文

Jsp页面在URL中传递参数出现乱码的解决方法

2020-05-06 19:54:03
字体:
来源:转载
供稿:网友
解决方法:

一、使用更改Tomcat的方法。
这个方法简单,但是需要改动的地方是服务器软件级别的,如果稍微变动系统将无法正确转码,移植性不高。

1、来到tomcat目录,找到conf目录下的server.xml问价,打开,找到<Connector>标签,在最后添加URIEncoding=’GBK’,效果如下:


<Connector 

port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 

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

debug="0" connectionTimeout="20000" 

disableUploadTimeout="true" URIEncoding=″GBK″/> 

<Connector

port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

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

debug="0" connectionTimeout="20000"

disableUploadTimeout="true" URIEncoding=″GBK″/>这种方法对get这个方法测试成功。

2、在每个Jsp页面添加如下代码

<%@ page pageEncoding=”gb2312″%> 

<%@ page contentType=”text/html;charset=gb2312″%> 

<%request.setCharacterEncoding(”gb2312″);%> 

<%@ page pageEncoding=”gb2312″%>

<%@ page contentType=”text/html;charset=gb2312″%>

<%request.setCharacterEncoding(”gb2312″);%>

编码方式也可以改成GBK,支持繁体中文。重启Tomcat,这一步很重要,否则可能看不到效果。

这种方法对post测试成功。建议两种同步使用。

二、使用JSP的scriptLet


<%=new String(elValue.getBytes("iso-8859-1"),"GBK")%> 

<%=new String(elValue.getBytes("iso-8859-1"),"GBK")%>

三、使用自定义JSTL

这是我们的重点所在,这里要详细说明.

第一,编写自定义标签


第二编写tag文件


第三部署tag文件


第四使用吧.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表