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设置编码命令
[sql]view plaincopy
SETcharacter_set_client=utf8;
SETcharacter_set_connection=utf8;
SETcharacter_set_database=utf8;
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
如果你还想了解更多这方面的信息,记得收藏关注本站。