日期:2014-05-17  浏览次数:20770 次

还是编码问题,从数据库读到可以显示,插入却出错
java.sql.SQLException: Incorrect string value: '\xE4\xBC\xA0\xE5\xAA?...' for column 'words' at row 1

我的数据库表的编码为:utf-8 ,其中把words列改成了GBK编码的,页面全部是utf-8的编码
我先在数据库中插入了数据,取出来的数据显示是正常的,我修改提交的话就出来上面的问题,那就转码吧,我是这样做的:
Chinese.toChinese(request.getParameter("words"));
Java code
 public  static String  toChinese(String strvalue) {
           try {
               if (strvalue == null) {
                   return "";
               } else {
                   strvalue = new String(strvalue.getBytes("utf-8"), "GBK");
                   return strvalue;
               }
           } catch (Exception e) {
               return "";
           }
    }

比方说原先是:浙江#帖子
页面上改成:浙江#帖子#得分
提交,这样虽然插入成功了,但是却出现了乱码:??????#??????#??????

想了好久还是不知道是为什么,希望指点下

------解决方案--------------------
utf-8的范围小于gbk,怎么可以吧小的转给大的,可以让gbk转utf-8
------解决方案--------------------
探讨
引用:

把work 改为utf-8 统一用utf-8

已经全部改成UTF-8了,但update后就变乱码了。。郁闷