如何设置Mysql数据库默认的字符集编码为GBK

如何设置Mysql数据库默认的字符集编码为GBK,第1张

1、更改服务器的编码方式,在终端输入以下命令

mysqld--character-set-server=gbk--collation-server=gbk_chinese_ci;

2、更改某个数据库的编码方式

mysql-uroot-p

alterdatabasecharactersetgbkcollategbk_chinese_ci

3、在创建数据库时指定编码:

mysql-uroot-p 

createdatabasedb_namecharactersetgbkcollategbk_chinese_ci

4、更改某个表的编码方式

mysql-uroot-pdb_name

altertabletable_nameconvertto charachtersetgbkcollategbk_chinese_ci

5、在创建表时指定编码方式

mysql-uroot-pdb_name

createtabletable_name(....)charactersetgbkcollategbk_chinese_ci

6、更改某行的编码方式

mysql-uroot-pdb_name

altertabletable_namemodifycolumn_namevarchar(20)charactersetgbkcollategbk_chinese_ci

7、在创建列时指定编码方式:

</pre><prename="code"class="sql">mysql-uroot-pdb_name

createtabletable_name(...,col1varchar(20)charactersetgbkcollategbk_chinese_ci,...)charactersetutf8collateutf8_general_ci

mysql查看数据库编码,打开数据库命令行运行:

show variables like 'char%'

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8;

其中,character_set_client为客户端编码方式;

character_set_connection为建立连接使用的编码;

character_set_database数据库的编码;

character_set_results结果集的编码;

character_set_server数据库服务器的编码;

只要保证以上四个采用的编码方式一样,就不会出现乱码问题。

1. 查看MySQL数据库的默认编码

有如下两种方式,

(1)使用status命令

mysql>status

图1 status命令

(2)使用show variables命令

mysql>show variables like 'char%'

图2 show variables命令

如果要查看某个数据库的编码,在运行上面的命令前,应先执行use db_name命令切换数据库(db_name为要查看的数据库名)。

2. 改变MySQL数据库的默认编码

安装MySQL数据库时的默认编码是latin1,实际使用时可能要使用其他编码。下文描述如何将默认编码改为utf8:

首先修改MySQL的配置文件/etc/mysql/my.cnf:

在[client]下追加:

default-character-set=utf8

在[mysqld]下追加:

character-set-server=utf8

在[mysql]下追加:

default-character-set=utf8

修改完毕后,使用如下命令之一重启mysql服务:

service mysql restart

/etc/init.d/mysql restart

改变后,之前手工创建的数据库如未显式指定编码,则其编码仍是默认的latin1,可使用如下命令更改编码:

mysql>alter database db_name CHARACTER SET utf8

参考资料:

[1] http://www.2cto.com/os/201404/292378.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6125798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存