mysql数据库怎么设置编码格式

mysql数据库怎么设置编码格式,第1张

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 %"

显示结果应该类似如下:

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

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

如果仍有编码不是utf8的,请检查配置文件,也可使用mysql命令设置:

set character_set_client = utf8

set character_set_server = utf8

set character_set_connection = utf8

set character_set_database = utf8

set character_set_results = utf8

set collation_connection = utf8_general_ci

set collation_database = utf8_general_ci

set collation_server = utf8_general_ci

另外:

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

create database app_relation character set utf8

use app_relation

source app_relation.sql

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

alter database app_relation character set utf8

show TABLE STATUS 该命令用于返回当前库中的所有表概览,通过添加 pattern 可以显示指定表的概览譬如: show TABLE STATUS like 'mytable%'

返回信息格式如下:

其中需要注意的是 Row_format 这一列的值。

Row_format 的可能取值有: Fixed, Dynamic, Compressed, Redundant, Compact 等。

Dynamic ,代表行格式为动态行,行长度可变,说明表中存在varchar或text或Blob类型字段。

fixed ,代表固定行,是指行长度不变,说明表中都是int或har类型字段。执行效率高,不容易产生碎片。但char会导致占用固定长度的空间,长度不足时,会填补空格;

MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明

需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法:

一、Windows

1、中止MySQL服务

2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可

3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭

4、启动MySQL服务

二、Linux

1、中止MySQL服务(bin/mysqladmin -u root shutdown)

2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可

3、打开my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭

4、启动MySQL服务(bin/mysqld_safe &)

非常简单,这样的修改一劳永逸,今后MySQL一切相关的默认编码均为UTF-8了,创建新表格的时候无需再次设置

需要注意的是,当前数据库中已经存在的数据仍保留现有的编码方式,因此需要自行转码,方法在网上有很多,不再赘述


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存