URL为:jdbc:informix-sqli://177.18.31.116:8100/iccdbNFORMIXSERVER=KKCDB;user=informix;password=informix
在页面上的表单中输入中文后传到后台servlet再insert到数据库中。为什么会变成乱码呢? 请问在页面上的数据传到后台servlet里的编码都是iso-8859-1的么?我在执行真正的数据库操作时把SQL语句转成GBK的编码。我是用1
 String sql = new String(srcSql.getBytes("iso-8859-1"), "gbk") 
我发现有两种情况: 
一:如果表单是在JavaScript中提交,如:1
 send_request("POST","../../SysPara page=curcode",str,"XML",populateMessage); 
这种方式到后台的话把SQL insert 语句转成UTF-8就可以插入中文。 二:如果表单是在JSP里直接提交如:1
 <form method="post" action="../../SysPara?page=operinfo&action=add" onsubmit="return Validator(this);"> 
这种方式到后台的话把SQL转成GBK就可以插入中文。怎样才可以呢? 

解决方案 »

  1.   

    有种方式插入中文不一样,一种是转成GBK,一种是转成UTF-8,而不能统一转成一种编码,请问在页面上的数据传到后台servlet里的编码都是iso-8859-1的么?
      

  2.   

    有种方式插入中文不一样,一种是转成GBK,一种是转成UTF-8,而不能统一转成一种编码,请问在页面上的数据传到后台servlet里的编码都是iso-8859-1的么?----------------------------------------------------
    不是,传到servlet里的编码还是需要自己设置的,默认的好象是ISO-8859-1!