我有一个url  :http://localhost/7xwang/join/login.jsp?result=%E6%B5%8B%E8%AF%95
在jsp页面上
request.getParameter("result");System.out.println( request.getParameter("result"));后台出现:???è??结果乱码了   其实我想在后台打印出
(我想直接获得%E6%B5%8B%E8%AF%95)
%E6%B5%8B%E8%AF%95

解决方案 »

  1.   

    后台添加:request.setCharacterEncoding("UTF-8");
    jsp :  pageEncoding="UTF-8"这样试试
    或者加一个过滤器,这样就不用担心乱码问题了
     1. public class ZHFilter extends Filter{ @Override
    protected void doDestroy() {
    // TODO Auto-generated method stub

    } @Override
    protected void doFilter(HttpServletRequest request, HttpServletResponse response,
    FilterChain chain) throws Throwable {
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    chain.doFilter(request, response);

    } @Override
    protected void doInit() throws Exception {
    // TODO Auto-generated method stub

    }}
    2.web.xml中添加
    <!-- 乱码的过滤-->
      <filter>
         <filter-name>ZHFilter</filter-name>
         <filter-class>org.wholeProject.filter.ZHFilter</filter-class>
      </filter>
      <filter-mapping>
         <filter-name>ZHFilter</filter-name>
         <url-pattern>*.do</url-pattern>
      </filter-mapping>
      

  2.   

    request.getParameter("result").getBytes("UTF-8"),"GBK"
      

  3.   

    问题补充url  地址栏  %E6%B5%8B%E8%AF%95  是UTF-8的编码但是jsp页面request.getParameter("result")得到的结果是???è?? 
     
    按理说应该是%E6%B5%8B%E8%AF%95啊   不明白 还请各位详细说明一下   谢谢
      

  4.   

    试一下这个
    String resultstr=request.getParameter("result");
    String result=new String(resultstr.getBytes("iso-8859-1"),"UTF-8");
      

  5.   

    我估计是浏览器汉化的时候用来GBK的编码所以传递过来的参数要用GBK猜测而已