日期:2014-05-16  浏览次数:20680 次

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");