首页 > 代码库 > 【MySQL】Win7下修改MySQL5.5默认编码格式

【MySQL】Win7下修改MySQL5.5默认编码格式

一般安装MySQL程序过程中,有一步骤是选择MySQL的默认编码格式的,程序默认为Latin1编码格式,当然也可以选择第三个选项,手动选择gbk或utf8编码格式,以支持中文数据。如下图:

mysql安装过程选择编码

 

现在问题出来了,安装完成后,又想去修改MySQL的默认编码格式(这样就省去每次新建数据库都要指定其编码格式的麻烦),该怎么办呢?

 

1:如何查看MySQL相关的编码格式默认值

在cmd中,输入指令"mysql –u root –p”以root身份连接mysql数据库

image

然后有两种方式查看编码格式:

1)show variables like ‘character%’;

image

2)show variables like ‘collation%’;

image

 

2:既然可以用命令查看,当然也可以用命令修改了

稍微解释一下:

character_set_client:客户端编码方式;

character_set_connection:建立连接时使用的编码;

character_set_database:数据库的编码;

character_set_result:结果集的编码;

character_set_server:数据库服务器的编码;

I:执行命令:set NAMES ‘utf8’;

    该命令等同于执行如下三条命令:

        SET character_set_client = utf8; 
        SET character_set_results = utf8; 
        SET character_set_connection = utf8;

    但是,该设置的编码格式,只对当前连接(窗口)有效,即用另外一个Dos窗口再连接mysql数据库进行查看,编码格式是没有改变的。

II:数据库、表、字段,均可以在创建时设置其默认编码格式,或者在其后进行修改[摘自easybean的博客]

    1)create database dbname character set utf8;

        alter database dbname character set utf8;

    2)create table tname(…) default charset=utf8;

        alter table type character set utf8;

    3)create table tname(flag_deleted enum(‘Y‘,‘N‘) character set utf8 not null default ‘N‘)

        alter table type modify type_name varchar(50) character set utf8;

 

3:比较好的,也是建议的,却是最后压轴的磨磨唧唧登场的方法,如下... ...

修改MySQL的配置文件my.ini。

在Window系统下,MySQL的配置文件是在MySQL安装目录下的my.ini文件,但是可能安装完成后,在目录下木有my.ini文件,而是如下这些文件:

image

这时候可以去网上下载一个my.ini文件然后放到目录下即可,或者在C:\ProgramData\MySQL\MySQL Installer目录下有:

image

选择其中一个版本的my-template-x.x.ini改名成my.ini,放到安装目录下也可以。至于细节再在my.ini中具体配置即可。

my.ini配置文件修改细节[摘自easybean的博客]:

I:在[mysqld]标签下加

default-character-set=utf8

character_set_server=utf8

lower_case_table_names=1      //表名不区分大小写(此与编码无关)

II:在[mysql]标签下加

default-character-set=utf8

III:在[mysql.server]标签下加

default-character-set=utf8

IV:在[mysql_safe]标签下加

default-character-set=utf8

V:在[client]标签下加

default-character-set=utf8

 

4:在Dos窗口中执行

net stop mysqlservice    //关闭mysql服务

net stop mysqlservice    //启动mysql服务

然后在查看一下mysql默认的编码格式,是否改变成功!改成功了的,恭喜恭喜哈^_^,没成功的咱再探讨一二,下面留下问题,一起学习研究哈!(最后绝招你可以重装mysql,然后在安装的那个步骤进行设置)

 

附注:

1:连接mysql数据库时的字符串,设计编码类型的时候如下所示

jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=utf-8

2:mysql支持哪些编码格式,查看%MySQL%\share\charsets\Index.xml即可

3:mysql的配置文件加载顺序[摘自iihero@CSDN]

c:/windows/my.cnf-->c:/windows/my.ini-->c:/my.cnf-->c:/my.ini-->$installdir/my.ini(%MySQL_HOME%/my.ini)-->defaults-extra-file=path