mysql命令行下导入汉字乱码

来源:互联网 发布:jdk1.7 64位下载linux 编辑:程序博客网 时间:2024/05/17 08:33

背景:需要建立一张全国省市表

过程:

1:创建数据库和表

DROP TABLE IF EXISTS `provinces`.`provinces`;CREATE TABLE `provinces`.`provinces` (  `id` int(11) NOT NULL auto_increment,  `provinceid` varchar(20) NOT NULL,  `province` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,  PRIMARY KEY  (`id`)) ENGINE=InnoDB;

2:插入一条数据

insert into provinces(id,provinceid,province) values(1,'110000','北京市');

这时,用mysql gui tools查看数据库表的话,发现汉字出现乱码,以UTF-8保存的网页,查询出来的汉字也是乱码
set names gbk;


后发现,在第2步之前,将字符集设为gbk后再插入数据,不管是用图形界面方式还是utf-8网页查看,数据均正常不明白这是为什么????