如何设置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的安装目录下名字叫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

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

插入的数据乱码有很多原因:

1、你要检查一下页面的编码和数据库设置的字符集是否一样,要么都是utf8,要么都是gbk的

2、如果第一点说的两边编码是统一的,你可以在链接数据库的时候加上mysql_query("set names utf8")

3、加上之后还是不行的话,在检查你的页面编码,如果是utf8的话,请选择没有bom的utf8编码

4、以上都没问题的话,还出现乱码的话,修改mysql的配置文件,my.ini加上character-set-server=utf8,然后重启mysql服务就可以了

一般出现乱码的话,基本就是这些原因了


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

原文地址: https://www.outofmemory.cn/zaji/7141127.html

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

发表评论

登录后才能评论

评论列表(0条)

保存