Servlet加了request.setCharacterEncoding("GB2312") 乱码,.net传参UrlEncode也是还是乱码。求解

解决方案 »

  1.   

    如果页面时使用get提交方式:则使用request.setCharacterEncoding("utf-8");
    如果是post提交方式:则使用字符创强转:String name = new String(request.getParameter("参数").getBytes("iso-8859-1"),"utf-8");
    第三种可以配置过滤器(只对post期作用):
    <!-- 用户登录检测过滤器 -->
    <filter>
    <filter-name>LoginCheckFilter</filter-name>
    <filter-class>
    com.newer.business.commons.support.filter.LoginCheckFilter
    </filter-class>
    <init-param>
    <param-name>loginPage</param-name>
    <param-value>/login.jsp</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>LoginCheckFilter</filter-name>
    <url-pattern>/index.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>LoginCheckFilter</filter-name>
    <url-pattern>/system/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>LoginCheckFilter</filter-name>
    <url-pattern>/demo/*</url-pattern>
    </filter-mapping>这些都是java中常用的,我没学过.net,不知道这个是不是你想要的
      

  2.   


    <!-- 字符集过滤 -->
    <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>
    org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
    <param-name>forceEncoding</param-name>
    <param-value>false</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    不好意思,刚那个复制错了
      

  3.   


    请问这个配置器在哪里配置的,对java不是很了解,这几天有需求必要要JAVA,才临时搞了下。
      

  4.   

    在web.xml文件里
    web.xml可以配置各种过滤器和监听器
      

  5.   

    request.setCharacterEncoding("utf-8")
    页面都改成utf-8