Data truncation: Data too long for column 'XXX' at row 1

Data truncation: Data too long for column 'XXXX' at row 1


解决方法:

(1)字符编码统一:

将所有的编码都设置成utf8,jsp的contentType="text/html;charset=utf-8"
修改数据库默认编码ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 
修改表字段的编码ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

创建数据库的时候:CREATE DATABASE `database`
                                    CHARACTER SET 'utf8'
                                    COLLATE 'utf8_general_ci';

建表的时候      CREATE TABLE `database_user` (
                        `ID` varchar(40) NOT NULL default '',
                        `UserID` varchar(40) NOT NULL default '',
                      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

设置URL的时候       jdbc:mysql://localhost:3306/database?seUnicode=true&characterEncoding=UTF-8

修改mysql 安装文件下的my.ini  文件,[mysql] 下面default-character-set=UTF8 修改成utf-8或者gbk,

此文件中还有一处要改的 # created and no character set is define 下面default-character-set=UTF8 

然后在的data目录下找到相应数据库文件 找到db.opt 文件 default-character-set=UTF8   default-collation=UTF8_swedish_ci 这2行文字都要改,

再查看你表的编码和表中字段的编码格式:在表上点击右键——表讯息——DDL 可以看到表和字段的编码格式,要是跟你配置文件中的不一致的话修改就OK了,修改方法:在表上点击右键——设计表——选项——字符集 ,然后点击你表中的每个字符串字段,查看下面的字符集编码是否一致

(2)修改column ‘XXXX’  的类型

varchar 有时候确实是不够,本人就是遇到这个问题,将varchar修改为存储更大的类型,如longtext即可。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值