遇到一个问题,有个中文命名的文档需要下载,所以在tomcat里面配置了URIEncoding="UTF-8",
但是现在在url中的中文参数不能正确的传递了,这种情况应该要如何解?
页面pageEncoding=utf-8,filter里面也是用utf-8来控制的,
有大虾遇到过这样的问题么?

解决方案 »

  1.   

    html部分加上
    <meta   content="text/html;   charset=gb2312"   http-equiv=Content-Type>   response.sendRedirect(java.net.URLEncoder("success.jsp?message=删除帖子成功   &url=http://127.0.0.1",   "gb2312");
    jsp文件顶端再加上响应编码设定
        
      <%   
      response.setContentType("text/html;   charset=gb2312");   
        
      request.setCharacterEncoding("gb2312");   
      %>
    试试吧
      

  2.   

    (如果可能)永远不要用中文作路径、文件名。在页面<head>里面添加<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />如果参数是通过GET方式
    比如<a href="xxx.jsp?xxx=xxxx">的话,最好encodeURI一下
      

  3.   

    在发送URL的页面,对要发送的参数先进行编码,如:String str3=java.net.URLEncoder.encode(at.getAuthorOrders(),"utf-8");
    String str4=java.net.URLEncoder.encode(at.getExtendText(),"utf-8");然后在接收的页面进行解码,如java.net.URLDecoder.decode(request.getParameter("auorder"))这是我解决的方案,还有其它,不过没有试过,这个肯定行。
    还可设置
    request.setCharacterEncoding("utf-8"); 
    但这个有时侯不行,会出错!
      

  4.   

    这个问题很明显嘛,就是中文参数乱码了把url的中文件参数转码一样就行了java 中用的是java.net.URLEncoder.encode("","utf-8"); 方法javascript用的是  param = encodeURI(param);这样应该就没有问题了
      

  5.   

    ie中可以设置url传递编码格式