日期:2014-05-18  浏览次数:22150 次

Data truncation: Data too long for column 'name' at row 1
mysql能把英文字段插如数据库了 当我输入中文时他就出现字段Data   truncation:   Data   too   long   for   column   'name '   at   row   1  
  我使用朋友的这个方法:(1)修改   C:\Developer\MySQL5.0\my.ini(MySQL   Server   Instance   Configuration   文件)
设置default-character-set=gbk(注意,有2处)
(2)修改data目录中相应数据库目录下的db.opt配置文件
default-character-set=gbk
default-collation=gbk_chinese_ci
重起mysql,就ok了.
 但问题还是这样的!
朋友门还有其他办法吗?
 当然我的name varchar(40) 能查入20个汉字的 我只要查如2个字!

------解决方案--------------------
前天也是遇到了这个问题,因为我的my.ini文件配置编码方式为:UTF8
按理来说插入韩文没有问题,但是也是提示Data truncation: Data too long for column
最后我发现一个根本问题,就是建表的时候表的编码方式是gb2312,我估计你虽然设置了gbk
但是表的编码方式为latin,你再看看
------解决方案--------------------
用前台工具SQLyog,比较直观
------解决方案--------------------
例如将所有的编码都设置成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