+ -
当前位置:首页 → 问答吧 → dede后台的sql命令行工具,建表后,表里的中文备注乱码,怎么解决?

dede后台的sql命令行工具,建表后,表里的中文备注乱码,怎么解决?

时间:2011-10-20

来源:互联网

如题,在dede后台的sql命令行工具执行建表命令后,在dede后台查看新建的表结构,发现里面的中文备注全是乱码,怎么解决?新建的表结构也是基于dede原来的表稍作修改。
例如:SQL code

CREATE TABLE `dede_member` ( `mid` mediumint(8) unsigned NOT NULL auto_increment, `mtype` varchar(20) NOT NULL default '个人', `userid` char(20) NOT NULL default '', `pwd` char(32) NOT NULL default '', `uname` char(36) NOT NULL default '', `sex` enum('','','保密') NOT NULL default '保密', `rank` smallint(5) unsigned NOT NULL default '0', `uptime` int(11) NOT NULL default '0', `exptime` smallint(6) NOT NULL default '0', `money` mediumint(8) unsigned NOT NULL default '0', `email` char(50) NOT NULL default '', `scores` mediumint(8) unsigned NOT NULL default '0', `matt` smallint(5) unsigned NOT NULL default '0', `spacesta` smallint(6) NOT NULL default '0', `face` char(50) NOT NULL default '', `safequestion` smallint(5) unsigned NOT NULL default '0', `safeanswer` char(30) NOT NULL default '', `jointime` int(10) unsigned NOT NULL default '0', `joinip` char(16) NOT NULL default '', `logintime` int(10) unsigned NOT NULL default '0', `loginip` char(16) NOT NULL default '', PRIMARY KEY (`mid`), KEY `userid` (`userid`,`sex`), KEY `logintime` (`logintime`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1



上面是dede原来就有的表,换个表名再插入,中文就乱码,
DEFAULT CHARSET=latin1
换成
DEFAULT CHARSET=utf8
DEFAULT CHARSET=gbk
DEFAULT CHARSET=gb2312
尝试后都是乱码,怎么回事呢?该怎么解决?

作者: helloqhq   发布时间: 2011-10-20

SQL code

set names latin1;
CREATE TABLE `dede_tizhi_user9` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` 

varchar(255) NOT NULL COMMENT '姓名' PRIMARY KEY (`id`) ) 

ENGINE=InnoDB DEFAULT CHARSET=utf8;



这样插入后就正常了

作者: helloqhq   发布时间: 2011-10-21

没用过dede的工具.换其他的图形工具吧 太多了...不要纠结于dede上 咔咔

作者: PhpNewnew   发布时间: 2011-10-21

检查一下,数据库是不是utf8?插入数据的时候有没set names="utf8"?
 要不把表删了,重新建一个utf8的表?
 
一点意见、、见笑……

作者: dyy0565   发布时间: 2011-10-21