insert into user values('20091500','王一','男',20,'100001');
insert into user values('20091501','王二','女',21,'100002');
insert into user values('20091502','王三','男',22,'100003');
insert into user values('20091503','王四','男',19,'100004');
insert into user values('20091504','王五','女',23,'100005');
insert into user values('20091505','王六','男',29,'100006');
select * from user;插入了这么几行数据,select的时候出现了一下情况
mysql> select * from user;
+----------+------+------+------+--------+
| ID       | name | sex  | age  | tel    |
+----------+------+------+------+--------+
| 20091500 | ??   | ?    |   20 | 100001 |
| 20091501 | ??   | ?    |   21 | 100002 |
| 20091502 | ??   | ?    |   22 | 100003 |
| 20091503 | ??   | ?    |   19 | 100004 |
| 20091504 | ??   | ?    |   23 | 100005 |
| 20091505 | ??   | ?    |   29 | 100006 |
+----------+------+------+------+--------+
6 rows in set (0.00 sec)
用SQLyog Enterprise也跟上面的情况一样我修改了my.ini文件了,port=3306[mysql]default-character-set=gb2312
# SERVER SECTION

 重启数据库服务了,但是还是不行。
求牛人,求大侠指点!

解决方案 »

  1.   

    set names 'gbk';
    select * from user; 这样试试。
      

  2.   

    mysql> set names 'gbk';
    Query ok,0 rows aff........
    mysql> select * from user;
    +----------+------+------+------+-------
    | ID       | name | sex  | age  | tel
    +----------+------+------+------+-------
    | 20091500 | ??   | ?    |   20 | 100001
    | 20091501 | ??   | ?    |   21 | 100002
    | 20091502 | ??   | ?    |   22 | 100003
    | 20091503 | ??   | ?    |   19 | 100004
    | 20091504 | ??   | ?    |   23 | 100005
    | 20091505 | ??   | ?    |   29 | 100006
    +----------+------+------+------+-------
    6 rows in set (0.00 sec)
    谢谢,还是不行。
      

  3.   

    set names utf8; 呢? 你的表是什么编码啊。
      

  4.   

    我在my.ini文件中修改了这个,这个应该是表的编码吧
    [mysql]default-character-set=gb2312
    # SERVER SECTION
      

  5.   


    你那表是在这个配置文件更改之前做的,并且你这个配置也只是“客户端”的配置。要看服务器的配置可以如下试试:show variables like "%char%";
    show create table user;建议设置客户端字符集和服务端保持一致后重新建表重新操作。
      

  6.   

    我觉得你插入时,没有执行:set names gbk; 导致在库中就乱码了。你可以以gbk编码重新插入一些数据对比试试。在以gbk编码查询出来。
      

  7.   

    有没有犯低级错误,数据类型不是定义的varchar 
      

  8.   

    1、首先该清楚,在创建库的编码是什么;
    2、在插入数据之前执行set names 你数据库编码;
    3、然后在导入数据。