在login.jsp中有这样的下拉菜单<td>身&nbsp;&nbsp;份: </td>
<td colspan="2">
    <html:select property="sf">
<html:option key="zg" value="----主管----" />
<html:option key="js" value="----教师----" />
<html:option key="xs" value="----学生----" />
    </html:select>
</td>提交后,在LoginAction中取值loginForm.getSf()得到的是乱码。该怎么修正?

解决方案 »

  1.   

    也不算是提交了,反正就是在LoginAction中打印值loginForm.getSf(),得到的就是乱码了
      

  2.   

    将得到的字符串转码
    String right = new String(wrong.getBytes("ISO-8859-1"),"UTF-8");
      

  3.   

    String sf = new String((loginForm.getSf()).getBytes("ISO-8859-1"),"UTF-8");
    是这样子吗?可还是不行啊,这个好象都同不过编译
      

  4.   

    现在你的页面上设置好编码
    contentType
    然后如果在后台得到的还是乱码,那再通过上面的getBytes转换一下。
      

  5.   

    JSP页面上是这样的
    <%@ page language="java" pageEncoding="GBK"%>还有,这个转码我不太会啊
      

  6.   

    <%@ page language="java" pageEncoding="UTF-8"%>改成UTF-8试试
      

  7.   

    该成UTF-8了,还是不行
    前面这个String right = new String(wrong.getBytes("ISO-8859-1"),"UTF-8");怎么用呢
      

  8.   

    要不你加上适配器,也就是fiter
      

  9.   

    String sf = loginForm.getSf();
    sf = new String(sf.getBytes("ISO-8859-1"));我按上面那样转码,Eclipse旁边会出现小红叉,下面那样也会String sf = new String((loginForm.getSf()).getBytes("ISO-8859-1"),"UTF-8");
      

  10.   

    谢谢各位,弄好了。
    是我没加try…catch上去。