我数据库的编码是utf8的 页面的也是utf-8的 连接mysql的url后跟的也是utf-8的
我在插入数据库 时有的时候是正常的有的时候却报错,狂晕啊~~~~~
update board set lastpostuser=?,lastposttime='2010-11-23 11:41:57',lastbbsnum=lastbbsnum+1,todaynum=16,lastrootid=42,lasttopic=? where  boardid=21java.sql.SQLException: General error,  message from server: "Incorrect string value: '\xE7' for column 'lasttopic' at row 1"
这个字段的定义:lasttopic varchar 200 编码也是:utf8 utf8_general_ci
有这方面的前辈来指点一下撒

解决方案 »

  1.   

    把那个字段搞大一点,或者干脆把类型定义成text的。
    看你描述的样子,貌似长度超过了字段上限
      

  2.   

    好像和字段长度关系不大,同样的一段话,有时插入正常有时插入就会出现错误,错误提示还是java.sql.SQLException: General error, message from server: "Incorrect string value: '\xE7' for column 'lasttopic' at row 1"
     没有想到mysql这么腻歪人
      

  3.   

     编码编译错误,你把数据库设置为GBK的,把my.ini中57和81行都设置为GBK重启服务就行了。
      

  4.   

    把mysql的那个字段定义后加上“character set utf8”
      

  5.   

    如果要插入以一个汉语短语时字数是奇数插入就会失败,是偶数的话就可以。mysql老出现这种问题 
      

  6.   

    有没有接受数据的时候进行字符集编码呀?
    request.setCharacterEncoding("utf-8");
    这一句话一定要在你业务逻辑处理的前面(也就是说在你取数据的前面(request.getParameter("")));
    这个可能会解决吧
      

  7.   

    问题解决了,根据15楼的提示我发现了根本原因:在页面接收值的时候编码错了。
     new String(request.getParameter("content").getBytes("ISO-8859-1"),"GBK");
    把GBK改成utf-8 就ok了。