使用的数据库不多,ms200 ,ms2005 和mysql 5.0 。在ms中都不曾遇到乱码的问题,没想到一转到了 mysql 中就猝不及防的来了。
首先,mysql默认的编码方式是latin 1,这在支持中文上有很大的问题。出现的都是乱码。如果在安装的时候就设置默认编码方式为 utf8 也是不行的,一样的乱码。
在找了一些资料后,总结在这里,以便以后查看使用。厚积薄发。
1、 进入到mysql命令行模式下,输入 password ,进入到命令操作模式。当然前提是开启了 mysql 服务,否则窗口会一闪而过的消失。 这里要先查看default的编码方式【命令】: 【 show variables like "character%"; 】 。语句的后面要跟上冒号,告诉服务器,这是一条语句。 看到的 8 项 variables_name 中value 7 项是 litin 1 。也就是说目前的编码方式是 latin 1.
?2、 进到安装mysql的文件下,找到?my 配置文件,以记事本打开。修改其中的 default-character-set 的值,改为 gbk .一共有两处。
3、 再到命令模式下查看编码方式【show variables like "character%";】 ,看到 variable_name的值都是 gbk 了。
4、新建表,create table user (
id int(11) PRIMARY key AUTO_INCREMENT ,
name varchar(30) not null,sex char(10)
) engine=innodb default charset=utf8;
插入中文数据,再查看的话就可以显示中文了。
5、当然、对于显示中文,设置为 gbk ,utf8,gb2312 都行。【说明】:mysql下utf-8 要写为 utf8 .
6、对于纯命令模式,在很多时候都不太方便。所以就会有很多图形界面的辅助工具。 我比较喜欢的是mysql-front ,在使用这工具的时候,在一开始登录的连接配置里,要把字符集设置为 utf8 ,不然输入的中文数据都会是乱码,也无法读取中文数据。
7、对于 mysql的两种存储引擎模式 ,myisam 和 innodb 。没有什么深入的运用,目前还不能体会出他们的差别。
路漫漫其修远兮,吾将上下而求索。