如何设置mysql数据库为utf-8编码

如何设置mysql数据库为utf-8编码,第1张

 检查当前数据库编码。
使用语句:
show variables like ‘%character%’;
show variables like’%collation%’;

如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:
如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8
如果没有该程序,需要手动修改mysql编码。
1、 编辑MySql的配置文件
MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫myini,可以搜索,Linux下一般是 /etc/mycnf

--在 [mysqld] 标签下加上以下内容:
default-character-set = utf8
character_set_server = utf8
注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。
--在 [mysql] 标签下加上一行
default-character-set = utf8

--在 [mysqlserver]标签下加上一行
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_relationsql;
修改数据库编码的命令为:
alter database app_relation character set utf8;

如果没有配置好cmd里面的mysql 环境变量,那就在系统高级设置那儿进行MySQL的环境变量设置。
win+R,调出“运行”,输入cmd,回车
登录数据库,
查看数据库
查看数据库字符编码
通过MySQL命令行修改:(编码可选)
mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
mysql> set character_set_database=utf8;
mysql> set character_set_results=utf8;
mysql> set character_set_server=utf8;
mysql> set character_set_system=utf8;
mysql> set collation_connection=utf8;
mysql> set collation_database=utf8;
mysql> set collation_server=utf8;
当然还有:
修改数据库的字符集mysql>use mydb
mysql>alter database mydb character set utf8;
创建数据库指定数据库的字符集
mysql>create database mydb character set utf8;

我觉得有可能是你在安装的时候没有设置正确。
当你安装mysql到如下图所示的步骤的时候,如果你原先曾今有一个数据库,并且要用原来数据库的数据,最好能确定原来数据库用的是什么编码,如果这里设置的编码和原来数据库数据的编码不一致,在使用的时候可能会出现乱码。
如果你没有数据库,这一步就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里要选择第三个,然后在Character
Set
那里选择或填入“gbk”。如果你安装时没有在这里进行修改,使用的默认设置,那么以后你向数据库里插入除了你设置的意外的字符编码都会乱码。
PS
用“gb2312”也是可以的,区别就是gbk的字库容量大,它包括了gb2312的所有汉字,并且加上了繁体字、和其它各种特殊字符。通常我们在写入数据库的时候都会对数据进行限制,但这样做也可以在你需要写入这些“火星文”的时候进行支持。
然后在使用mysql
的时候,在执行数据 *** 作命令之前运行一次"set
names
gbk;”(运行一次就行了,GBK可以替换为其它值,视你的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。会出现乱码。


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

原文地址: http://outofmemory.cn/yw/13342315.html

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

发表评论

登录后才能评论

评论列表(0条)

保存