data too long for column 'title' at row 1
向数据库中插入中文数据时,出现中文乱码及data too long for column 'title' at row 1 的错误
解决方法:
(1)修改 mysql安装根目录下的my.ini,设置
default-character-set=gbk(有2处)
(2)在data目录下,打开相应数据库的文件,找到db.opt配置文件设置
default-character-set=gbk
default-collation=gbk_chinese_ci
(3)将sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
注释掉
(4)重启mysql:
service mysqld stop
service mysqld start
(5)创建数据库时,将字符设置为gbk
CREATE TABLE `quickorder` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(10) default NULL COMMENT '地点',
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARSET=gbk
(6)连接数据库时,将编码设置为gbk:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoder=gbk","root","123");