我整个项目的编码是UTF-8,在两个action之间传值出现中文乱码,后来想到办法,先用BASE64对要传的值进行编码,软后通过action传递之后再用BASE64解码,这样照道理应该是完全没问题的,但有些中文通过编码解码后就不是原来那个字了,就变成同音字或其它的,单独把这个汉字和提取出来用BASE64编码解码也是完全没问题的,请教各位大虾,问题出在什么地方?
------解决方案--------------------
我一直是在暂存储的时候进行下中文转换的:
public static String ToCN(String str)
{
String strcn=null;
try
{
strcn=new String(str.getBytes("iso-8859-1"),"UTF-8");
}
catch(UnsupportedEncodingException e)
{
e.printStackTrace();
}
return strcn;
}
应该和lz说的是同一个问题
------解决方案--------------------
两个action之间传递值,乱码要转码的 用getBytes()方法
------解决方案--------------------
如 String strcn=new String(str.getBytes("iso-8859-1"),"UTF-8");
------解决方案--------------------
给tomcat下的server.xml文件Connector 节点里,设置一下编码格式看看
还不行,可以再配置一个过滤器试试。。
------解决方案--------------------
在struts.xml中加入
<constant name="struts.i18n.encoding" value="GBK"/>