如题,在dede后台的sql命令行工具执行建表命令后,在dede后台查看新建的表结构,发现里面的中文备注全是乱码,怎么解决?新建的表结构也是基于dede原来的表稍作修改。
例如:
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
尝试后都是乱码,怎么回事呢?该怎么解决?

解决方案 »

  1.   


    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;
    这样插入后就正常了
      

  2.   

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

  3.   

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

  4.   

    set names latin1;
    只是客户端字符集设置吧,会不会影响到数据库端?我这样操作,数据库那边怎么监测发出了警告?