set character_set_results=utf8; 为何乱码??gbk 却能正常显示??
RT
我 MySQL 下载的是 “mysql-noinstall-5.1.73-win32”。
举个例子:
我 创建 数据库时 指定了utf8编码,这样的:create database 数据库名 character set 'utf8' collate 'utf8_general_ci';
然后,创建表时 也指定utf8编码,这个样子:
create table 表名
(
...
...
)engine=InnoDB default charset=utf8;
然后,我通过 程序插入一条 有中文的记录(并非 直接在 控制台insert),
此时,我在MySQL控制台执行 select * from 表名; ==> 中文部分显示的是乱码。
然后,我在MySQL控制台做了如下操作:
1、set character_set_results=utf8; ==> select * from 表名; ==> 中文部分显示的是乱码。
1、set character_set_results=gbk; ==> select * from 表名; ==> 中文部分显示的是正常的文字,无乱码。
我的问题是:
我的 数据库 和 表 都指明了是 utf8 编码,但是为何 set character_set_results=utf8; 显示的是乱码,而 set character_set_results=gbk; 反而显示正常??
菜鸟提问,请大家帮忙。
任何 回复、讲解、资料、链接、文章 都可以,感谢各位。