insert into dcr_data(cardid,zcid,czmoney,fcbl,tc) values('m10515993755','尛丶羙','0','1','0') mysql提示错误为:Data too long for column 'zcid' at row 1 zcid为:VARCHAR(50) 为什么会说太长了?我的表用了gb2312 但用gbk也没用 utf8也没用
插入数据['m10583548748','大蒜头2','15','1','15']成功, 插入的sql语句为:insert into dcr_data(cardid,zcid,czmoney,fcbl,tc) values('m10583548748','大蒜头2','15','1','15')插入数据['m10522986068','小不點灬','15','1','15']失败,mysql提示错误为:Data too long for column 'zcid' at row 1 插入的sql语句为:insert into dcr_data(cardid,zcid,czmoney,fcbl,tc) values('m10522986068','小不點灬','15','1','15')
show variables like 'char%'; show create table dcr_data;提供你的信息。
如果你的表(或者zcid字段)是utf8的,你的连接也是utf8,就不应当有问题。
mysql> show variables like 'char%'; +--------------------------+---------------------------------------------------- ---+ | Variable_name | Value | +--------------------------+---------------------------------------------------- ---+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | gbk | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | gbk | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5\share\charset s\ | +--------------------------+---------------------------------------------------- ---+ 表格式为: CREATE TABLE `tg`.`dcr_data` ( `id` int(10) NOT NULL auto_increment, `cardid` varchar(50) character set gb2312 NOT NULL default '', `zcid` varchar(50) character set gb2312 NOT NULL default '', `czmoney` double NOT NULL default '0', `fcbl` double NOT NULL default '0', `tc` double NOT NULL default '0', `addtime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
MySQL 中文显示乱码
插入的sql语句为:insert into dcr_data(cardid,zcid,czmoney,fcbl,tc) values('m10583548748','大蒜头2','15','1','15')插入数据['m10522986068','小不點灬','15','1','15']失败,mysql提示错误为:Data too long for column 'zcid' at row 1
插入的sql语句为:insert into dcr_data(cardid,zcid,czmoney,fcbl,tc) values('m10522986068','小不點灬','15','1','15')
show create table dcr_data;提供你的信息。
+--------------------------+----------------------------------------------------
---+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------
---+
| character_set_client | gbk
|
| character_set_connection | gbk
|
| character_set_database | gbk
|
| character_set_filesystem | binary
|
| character_set_results | gbk
|
| character_set_server | gbk
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5\share\charset
s\ |
+--------------------------+----------------------------------------------------
---+
表格式为:
CREATE TABLE `tg`.`dcr_data` (
`id` int(10) NOT NULL auto_increment,
`cardid` varchar(50) character set gb2312 NOT NULL default '',
`zcid` varchar(50) character set gb2312 NOT NULL default '',
`czmoney` double NOT NULL default '0',
`fcbl` double NOT NULL default '0',
`tc` double NOT NULL default '0',
`addtime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;