不知道怎么的  用action获取jsp传来的值变成了乱码
其他页面都没有  就这个页面有这个问题   检查了半天 没发现问题   求各位指教
-----------------------------
<%@page contentType="text/html;charset=utf-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
这是jsp页面的头    下面是form表单的部分   
因为采取的是get方式测试  在地址栏看见的是中文   但是用action接收之后就变成了 乱码
action里面 我直接设置了一个receiveName属性  在execute方法里 打印出这个值 却是乱码
求解。  
<form name="form1" method="get" action="order/toOrderOk.action" id="f1" onsubmit="return checkAll();">
<table class="tab_login">
<tr>
<td valign="top" class="w1">
收件人姓名:
</td>
<td>
<input type="text" class="text_input" name="receiveName"  id="receiveName" />
<span style="color:red" id="re_msg"></span>
</td>

</tr>

解决方案 »

  1.   

    这个是提交的button
    <input id="btnClientRegister" class="button_1" name="submit"
    type="submit" value="提交" />
    action里面的部分:
    public class toOrderOk extends BaseAction{
    private String receiveName;//收件人姓名
    ...
    public String execute(){
        System.out.println(receiveName);   ------这里就变成乱码了
      

  2.   

    呵呵,很多人碰到这种错误,你加上字符编码过滤器了么?一下解决方法你试试:
    一:加上字符编码过滤器,看是否还是乱码。
    二:tomcat server.xml里<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" 
                   connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="UTF-8"/>.....省略.....</Connector>请检查是否server.xml是否有加上URIEncoding="你的编码"。
    以上仅供你参考,我一般就是在这两种方法中选择一种解决乱码问题。
      

  3.   

    谢谢楼上的  
    确实是因为最近换了电脑  好像没有更改server.xml里面的编码 
    就直接跑代码调试了  但是奇怪一点  为什么其他页面没有   
      

  4.   

    public class SetCodeFilter implements Filter { @Override
    public void destroy() {
    // TODO Auto-generated method stub } @Override
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain filterChain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    req.setCharacterEncoding("UTF-8");
    filterChain.doFilter(req, response);
    } @Override
    public void init(FilterConfig config) throws ServletException {
    ConvertUtils.register(new DataConverter(), Date.class);
    }}
      

  5.   

    其他页面没有因为那些都是POST提交,或者地址栏没有带中文的参数,你到其余页面带中文参数,照样乱码的。