日期:2014-05-18  浏览次数:20709 次

Struts FormBean乱码问题
FormBean接收的都是乱码,怎么解决啊

一个注册页面reg.jsp,采用post提交到regAction

如:
userForm.setUsername(userForm.getUsername());
System.out.println(userForm.getUsername());
//这里输出的全是?????
插入到数据库中也是?????

页面编码是utf-8

网上找了很多资料,用ISO-8859-1转换也不行

确实是没办法了,希望各位大侠能提供解决的方法,小弟感激不尽

------解决方案--------------------
把JSP的編碼改成
<%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html; charset=GBK"%>

如果不行,加個過濾器,可以用struts里的那個或者在ACTION中加上
request.setCharactorEncoding("GBK");response.setCharactorEncoding("GBK");


如果還不行,String username = new String(userForm.getUsername().getBytes("ISO-8859-1"),"GBK");
試試看
------解决方案--------------------
楼上第三种方法绝对是可行的
不过有点麻烦

还是用在web.xml文件中加个过滤器比较操作简单
在这社区里面有一篇贴写得比较详细
忘地址了