<s:url id="url" action="list" > 
<s:param name="type">中文<s:param> 
</s:url> 
<s:a href="%{url}">中文</s:a> 
这样提交到地址栏的是%C0%E0%D0%CD1.编码了.怎么办啊.谢谢

解决方案 »

  1.   

    把你地址栏里面的中文先用java.net.URLEncoder.encode(url,"GB2312")%>"进行编码
    然后再用java.net.URLDecoder.decode(url, "GB2312");进行解码
    自己研究一下
      

  2.   

    浏览器发送url参数默认的是utf-8,这样会自动的把汉字用utf-8进行编码,浏览器的设置里面有,可以改变默认的传递方式,生成了一堆符号,这是正常的而后台如果用tomcat的话,tomcat会自动的用默认的iso8895-1对其进行解码,所以会出现乱码解决办法:
    1 修改tomcat的server.xml文件
     <Connector port="8080"...... URIEncoding="UTF-8">
    2 直接用String str = new String(request.getParameter("xxx").getBytes("ISO8859_1"),"UTF-8")1比较通用但是需要改变timcat系统文件,2很繁琐
      

  3.   

    request.setCharacterEncoding("UTF-8");试试!
      

  4.   

    顶2楼
    URL传值的中文问题
    修改tomcat的server.xml文件步骤:
    tomcat文件夹->conf文件夹->server.xml
    里面有一段
        <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000"
                   redirectPort="8443" />
    你现在添加一句URIEncoding="gbk" ,效果如下
        <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000"
                   URIEncoding="gbk" 
                   redirectPort="8443" />
    保存,就OK了!注意事项:URIEncoding="gbk"为URI(i的大写字母),而非URL
      

  5.   

    写一个过滤器就行啦
    实现Filter
    <mapping-url>
    /*</mapping-url>
    所有编码错误都搞定啊