我觉得应与oracle没关系,因为我直接regform.setRe("中文");也不行。
但是我在表单中填入中文。提交后在取出,仍是中文。不知struts是如何做得?

解决方案 »

  1.   

    先将这句this.re = new String(re.getBytes("ISO8859_1"));
    改为this.re = new String(re.getBytes("ISO8859_1"),"GBK");试试.....
    我struts的中文处理是在所有的action都用Filter
    SetCharacterEncodingFilter
    然后就什么中文问题都没了.........
      

  2.   

    this.re = new String(re.getBytes("ISO8859_1"),"GBK");
    也不行啊。
      

  3.   

    http://www.csdn.net/Develop/Read_Article.asp?Id=17233
      

  4.   

    我把它改成this.re = new String(re.getBytes());居然好了,
    但是在表单中填入中文,提交后取出来得却变成???了。怎么能够统一起来啊?
    还有re.getBytes();它默认得编码方式是什么啊
      

  5.   

    在表单中处理时,struts默认得字符集是ISO8859_1,而java默认得是GBK,所以我先把GBK得转化为
    ISO8859_1,再交给Form取处理。就ok了。
    if(rst.getString("REMARK")!=null){
                            try{
                              regform.setRe(new String((rst.getString("REMARK")).getBytes(),"ISO8859_1"));
                             }
                            catch(Exception e){
                             e.printStackTrace();
                            }
                          }
    form的写法同上。希望对后来人有帮助。