数据库  表 和JSP  我都设置成了gb2312,
我使用的sqlyog 界面   在里面打  UPDATE menu set name ='中文' where id='1'
可以修改成功    
但在java 里面打  就会出现Data too long for column 'name' at row 1"
要是把 menu table 中的name 字段 换成utf8   数据库修改成功 单会出现乱码.
这个问题已经捆饶我一个星期了 求解  谢谢

解决方案 »

  1.   

    sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
     
    注释掉或者删除“STRICT_TRANS_TABLES,”!去掉了 虽然错误没 单变成??了
      

  2.   

    更改数据库的语言GBK或者GB2312,默认的是瑞典语。
      

  3.   

    我都设置成了gb2312  我下了一个人家的程序  在我电脑上运行 输入中文 完全正确  
    我只要改把他 db.java 里的 URI  后面的useUnicode=true&characterEncoding=gb2312  去掉 打中文也会出现Data too long for column 'name' at row 1"
      我的数据库 URI 是写在server.xml 里的 我在 8080端口connector.添加一个属性URIEncoding="GBK2312"  还是不可以 
    这要怎么改啊?
      

  4.   

    url="jdbc:mysql://localhost:3306/yiliao?autoReconnect=true&useUnicode=true&characterEncoding=gb2312"
    加个amp就可以了 amp 是什么意思啊  搞死我了
      

  5.   

    你的MYSQL版本是多少啊?我是MYSQL5.0
    修改my.ini
    [client]port=3306[mysql]default-character-set=gbk[mysqld]
    default-character-set=utf8
      

  6.   

    你要修改3个地方:
    1.数据库建立时候的默认编码
    2.每个字段的编码(主要是你会存入中文的那些字段),你要是用mysql querybrowser 就可以修改了!
    3.连接数据库的url,url="jdbc:mysql://localhost:3306/yiliao?autoReconnect=true&useUnicode=true&characterEncoding=gb2312"收功!
      

  7.   

    url="jdbc:mysql://localhost:3306/yiliao?autoReconnect=true&useUnicode=true&characterEncoding=gb2312"
    加个amp就可以了 amp 是什么意思啊  搞死我了
    =================================================================================
    回复lz,amp和& 是连这的表示:&
    同这种,是一个意思
    url="jdbc:mysql://localhost:3306/yiliao?autoReconnect=true&useUnicode=true&characterEncoding=gb2312"
      

  8.   

    我用的是mysql5.0    我以前都不知道要加AMP的    直接用& 连接 就像这样url="jdbc:mysql://localhost:3306/yiliao?autoReconnect=true&useUnicode=true&characterEncoding=gb2312"
       一直会错的  
    只有加了AMP才正常!