java写一个通用的方法,把一个对象里的属性值全部换成另一种编码如:(ISO-8859-1换成UTF-8)

现在我页面传过来对象,结果对象全部是UTF-8编码的,安然得到属性就全部是乱码李氏家æ,必须利用new String (fa2.getPerson().getAge().getBytes("ISO-8859-1"),"utf-8"),才能到真正的中文,我的对象有30多个属性啊,每个这样转麻烦,这样的对象有很多,估计页面的对象都有这问题,麻烦大神研究研究一下
Field[] field = fa.getClass().getDeclaredFields();
for (int i = 0; i < field.length; i++)
{
if (field[i].getGenericType().toString().equals(String.class.toString()))
{
field[i].setAccessible(true);
//获得原来的值
String s = field[i].get(fa).toString();
//开始设置编码
field[i].set(fa, new String(s.getBytes("ISO-8859-1"),"utf-8"));
System.out.println(field[i].get(fa)+"---");
}
}

servlet 中的 doPost 方法中 开始写上一句 request.setCharacterEncoding("utf-8");
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜