我是这么解决的
URL.Encoder.encode(path,"GB2312");String path = URL.Decoder.decode(request.getParameter("path"),"GB2312");String path_zh = transGB(path); public static String transGB(String s)
{
String ret = null;
try
{
ret = new String(s.getBytes("8859_1"), "GB2312");
}
catch (UnsupportedEncodingException e)
{
    logger.error("no gb2312 charset");
}
return ret;
}

解决方案 »

  1.   

    pity guy,translate it to En
      

  2.   

    使用servlet filter。至今没发现问题
      

  3.   

    试试这个java.net.URLEncoder.encode(path, "GBK");
      

  4.   

    大家看清楚是“URL中含有中文路径”不是参数,如/app/中文/test.jsp.在IE的地址栏显示的是正确的中文,
    如果是转码的话request.getPathInfo()的值 TOMCAT是用的是什么编码方式?
      

  5.   

    在server.xml中找到
        <Connector URIEncoding="gbk" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25">加上URIEncoding="gbk"应可以了!