首页数据库mysql修改数据库编码 如何更改MySQL数据库编码为UTF-8或者GB2312

mysql修改数据库编码 如何更改MySQL数据库编码为UTF-8或者GB2312

编程之家2023-10-20111次浏览

这篇文章给大家聊聊关于mysql修改数据库编码,以及如何更改MySQL数据库编码为UTF-8或者GB2312对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

mysql修改数据库编码 如何更改MySQL数据库编码为UTF-8或者GB2312

如何更改MySQL数据库编码为UTF-8或者GB2312

mysql创建数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

网页数据一般采用UTF8编码,而数据库默认为latin。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。

我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来

我们可以通过命令查看数据库当前编码:

mysql> SHOW VARIABLES LIKE'character%';

发现很多对应的都是latin1,我们的目标就是在下次使用此命令时latin1能被UTF8取代。

mysql修改数据库编码 如何更改MySQL数据库编码为UTF-8或者GB2312

第一阶段:

mysql设置编码命令

[sql]view plaincopy

SETcharacter_set_client=utf8;

SETcharacter_set_connection=utf8;

SETcharacter_set_database=utf8;

mysql修改数据库编码 如何更改MySQL数据库编码为UTF-8或者GB2312

SETcharacter_set_results=utf8;

SETcharacter_set_server=utf8;

然后mysql> SHOW VARIABLES LIKE'character%';你可以看到全变为utf8。

但是,这只是一种假象

此种方式只在当前状态下有效,当重启数据库服务后失效。

所以如果想要不出现乱码只有修改my.ini文件,

从my.ini下手(标签下没有的添加,有的修改)

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

default-character-set=utf8

以上3个section都要加default-character-set=utf8,平时我们可能只加了mysqld一项。

然后重启mysql,执行

mysql> SHOW VARIABLES LIKE'character%';

确保所有的Value项都是utf8即可。

但是可恶的事情又来了,

|character_set_client| utf8|

| character_set_connection| utf8|

| character_set_database| utf8|

| character_set_filesystem| binary|

| character_set_results| utf8|

| character_set_server| latin1|

| character_set_system| utf8

注意该配置| character_set_server| latin1无法设置成UTF8交互时候仍然会出现乱码。

第二阶段:找到下面这东东

X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe

重新启动设置,将默认编码设置为utf8.这样就能达到我们所要的效果了。

mysql> SHOW VARIABLES LIKE'character%';

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

| Variable_name| Value|

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

| character_set_client| utf8|

| character_set_connection| utf8|

| character_set_database| utf8|

| character_set_filesystem| binary|

| character_set_results| utf8|

| character_set_server| utf8|

| character_set_system| utf8|

| character_sets_dir| C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\|

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

8 rows in set

mysql 更改数据库字符编码的方法

mysql如何更改数据库字符编码?借助客户端工具很容易就可以更改了,下面来看一下。

01

打开navicat客户端工具,在左边找到要更改的数据库。

02

右键点击这个数据库,在菜单上点击数据库属性选项。

03

在弹出的属性窗口上,点击默认字符集下的下拉框。

04

在弹出的下拉选项里,点击选中要使用的字符集就行了,比如选择常用的utf8字符集,点击ok按钮就行了。

mysql怎么设置成utf-8编码

检查当前数据库编码。

使用语句:

show variables like‘%character%’;

show variables like’%collation%’;

如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:

如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8

如果没有该程序,需要手动修改mysql编码。

1、编辑MySql的配置文件

MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf

--在 [mysqld]标签下加上以下内容:

default-character-set= utf8

character_set_server= utf8

注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。

--在 [mysql]标签下加上一行

default-character-set= utf8

--在 [mysql.server]标签下加上一行

default-character-set= utf8

--在 [mysqld_safe]标签下加上一行

default-character-set= utf8

--在 [client]标签下加上一行

default-character-set= utf8

2、重新启动MySql服务

Windows可在服务管理器中操作,也可使用命令行:

net stop mysql回车

net start mysql回车

服务名可能不一定为mysql,请按自己的设置

Linux下面可是用 service mysql restart

如果出现启动失败,请检查配置文件有没有设置错误

3、查看设置结果

登录MySql命令行客户端:打开命令行

mysql–uroot–p回车

输入密码

进入mysql后执行:show variables like"% character%";

另外:

建立数据库时可以使用以下命令:

create database app_relation character set utf8;

use app_relation;

source app_relation.sql;

修改数据库编码的命令为:

alter database app_relation character set utf8;

如何改变mysql数据库的编码方式

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

如果你还想了解更多这方面的信息,记得收藏关注本站。

万方期刊数据库?万方数据与中国知网有什么区别tcp 服务器,TCP服务器是什么