关于URL后面传中文方法总结

测试环境:
服务器tomcat5.0,
开发工具Myeclipse6.5,
过滤器已经配置,编码utf-8。

方法一:修改Tomcat配置

假设web服务使用8080作为端口,修改/conf/server.xml,增加红色这段
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8"/>

传值代码

Jsp代码

var url= "/yourwebapp/test.do?field1=测试例子";  
window.open(url, "", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,top=192,left=256,width=650,height=350");

获取值代码

Java代码

String field1=request.getParameter("field1");  
if(null == field1)  
{  
    field1=request.getParameter("field1").trim();  
  
}



方法二:使用java.net.URLEncoder与java.net.URLDecoder
假设没有使用方法一,可以采用第二种方法。

传值代码

Jsp代码

var url= "/yourwebapp/test.do?field1=<%=java.net.URLEncoder.encode("测试例子","UTF-8")%>";  
window.open(url, "", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,top=192,left=256,width=650,height=350");

获取值代码

Java代码

String field1=request.getParameter("field1");  
if(null == field1)  
{  
    field1=request.getParameter("field1").trim();  
    field1=java.net.URLDecoder.decode(field1,"UTF-8");  
    //tomcat默认使用ISO-8859-1进行URLEncoding,需要将其转换成我们需要的编码  
    field1=new String(field1.getBytes("ISO-8859-1"),"UTF-8");  
}

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: