我们的情况是有一个通过form提交过来的post请求,里面有中文内容。
我和同事两台windows机器
我们统一了myeclipse里的文本文件的编码和项目编码,tomcat的uriencoding,
jsp页面的<%@ page language="java" pageEncoding="UTF-8"%>
和<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
web.xml中的org.springframework.web.filter.CharacterEncodingFilter但是,在action中,我通过request.getParameter可以得到中文,而同事却要用new String(ServletActionContext.getRequest().getParameter(key).getBytes("ISO-8859-1"), "UTF-8");才能得到中文求问还有可能存在什么差异?中文乱码乱码

解决方案 »

  1.   

    页面传值是iso8859-1,这是老外规定的。
      

  2.   

    这叫灌水?灌水一般都是+1+10086
    类似这样的才叫灌水,自己好好看看jsp和servlet的规范。
      

  3.   

    是用的同一台服务器吗??  如果不是  你的服务器编码可能是utf-8  他的可能不是
      

  4.   


    是两台PC,都是windows系统,我们想要的效果是能无关服务器编码环境,通过配置和代码处理达到同样效果
      

  5.   

    补充,System.getProperty("file.encoding");输出结果两台都是UTF-8
      

  6.   

    原因就一个,乱码的人自己去拼串了。用input + post方法不可能乱码。window.location.href="***.action?key=张三"<form action="" method="post">
       
    </form><form action="***.action" method="post">
       <input type="hidden" name="key" value="张三">
    </form>
      

  7.   

    在action里加上这两句话
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
      

  8.   


    原因很简单,正好是你说的能解决.不知为什么org.springframework.web.filter.CharacterEncodingFilter没起作用,它本来就是干这个的.系统里本来也自己写过request.setCharacterEncoding("utf-8");但是后来被移除了.