用insert语句插入中文记录,却无法用select语句显示中文。而我的编码设置也看不出问题。
status显示结果:
Server characterset:gbk
Db characterset:gbk
Client characterset:gbk
Conn. characterset:gbkshow create table supergirls; 显示结果:
  supergirls|create table 'supergirl' (
  'num' smallint(7) unsigned not null auto_increment,
  'name' varchar(10) not null,
  'city' varchar(10) not null,
  primary key('num')
)engine=InnoDB auto_increment=15 default charset=gbk然后,用insert into supergirls (name,city) values ('小小','北京');  成功插入记录
但是,用 select * from supergirls;  显示不出中文属性值,不是‘?’乱码,只是本该有中文的地方什么都没有。我的操作系统为windows XP, mysql的版本为5.1.30-community,以上操作都在cmd下执行。
各位高手帮帮忙,小女子已为此整整花了两天,但丝毫没有进展,望伸出援手,救人于水深火热中,谢谢! 

解决方案 »

  1.   

    先set names gbk;
    再select * from supergirls;
      

  2.   

    db是GBK的
    也许的表的编码不是啊
    把表的编码格式也改成GBK
      

  3.   

    如果你是在XP下的DOS中,建议你先把这个DOS的属性设置一下,设置这个DOS框的属性中,字体为宋体。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  4.   

    因为你的终端编码不是GBK的缘故
    如果你是用cmd来连的,
    试下:cmd窗口左上角--》单击--》属性--》字体--》宋体-->保存
      

  5.   

    set names gbk;
    依然显示不了!然后,我将cmd窗口左上角--》单击--》属性--》字体--》新宋体-->确定,还是不行!
    注:我的字体中,只有新宋体和点阵字体两种,我选了新宋体.
      

  6.   

    你试试在客户端里看看,比如ems和mysql query。如果是cmd里,是客户端的字符集的问题了。
      

  7.   

    我用界面工具MySQL-Front可以正常显示中文,但是在CMD中不行,这是为什么?
      

  8.   

    cmd的代码页是多少,如果是936,就是GBK的环境