日期:2014-05-16  浏览次数:21475 次

mysql数据库不能显示中文,中文都成?了, 求大侠帮忙!!!
SQL code


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

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

------解决方案--------------------
set names 'gbk';
select * from user; 

这样试试。
------解决方案--------------------
探讨

引用:

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

我在my.ini文件中修改了这个,这个应该是表的编码吧
[mysql]

default-character-set=gb2312


# SERVER SECTION

------解决方案--------------------
有没有犯低级错误,数据类型不是定义的varchar
------解决方案--------------------
1、首先该清楚,在创建库的编码是什么;
2、在插入数据之前执行set names 你数据库编码;
3、然后在导入数据。