mysql更改utf8编码方式

文章来源:浅笑风华的博客

在此特别感谢这个大牛的这篇文章

方法1:

一、查看数据库编码格式

1
mysql> show variables like 'character_set_database';

二、查看数据表的编码格式

1
mysql> show create table <表名>;

三、创建数据库时指定数据库的字符集

1
mysql>create database <数据库名> character set utf8;

四、创建数据表时指定数据表的编码格式

1
2
3
4
5
create table tb_books (
 name varchar(45) not null,
 price double not null,
 bookCount int not null,
 author varchar(45) not null ) default charset = utf8;

五、修改数据库的编码格式

1
mysql>alter database <数据库名> character set utf8;

六、修改数据表格编码格式

1
mysql>alter table <表名> character set utf8;

七、修改字段编码格式

1
2
3
mysql>alter table <表名> change <字段名> <字段名> <类型> character set utf8;
 
mysql>alter table user change username username varchar(20) character set utf8 not null;

方法2:

更改配置文件,mac系统下:

1sudo vi /etc/my.cnf

编辑,加入:

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

character-set-server=utf8

即:

 

这里特别要注意[mysqld]标签下一定要是character-set-server=utf8,不然mysql无法启动

show variables like 'character_set_%';

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

| Variable_name            | Value                                                     |

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

| character_set_client     | utf8                                                      |

| character_set_connection | utf8                                                      |

| character_set_database   | latin1                                                    |

| character_set_filesystem | binary                                                    |

| character_set_results    | utf8                                                      |

| character_set_server     | latin1                                                    |

| character_set_system     | utf8                                                      |

| character_sets_dir       | /usr/local/mysql-5.7.17-macos10.12-x86_64/share/charsets/ |

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

 

show variables like 'character_set_%';

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

| 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       | /usr/local/mysql-5.7.17-macos10.12-x86_64/share/charsets/ |

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

 

  前后对比,更改成功

用pycharm连接mysql数据库时,要注意添加 charset="utf8",即:

cnx = pymysql.connect(user="root",passwd="root",host="localhost",db="db_name",charset="utf8")

 不然中文无法导入数据库

----清空数据表

truncate table tenement_message;

-----查找mysql文件夹

which mysql




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL的数据亏统一修改编码和排序方式为utf8mb4编码的作用是确保数据库中的数据能够正确地存储和处理多语言字符,特别是一些特殊字符和表情符号,以便更好地满足现代应用的需求。 utf8mb4编码是针对Unicode字符集的一种扩展编码,支持更广泛的字符范围,包括一些四字节的字符(如一些表情符号),而传统的utf8编码只支持三字节的字符。由于utf8mb4编码的使用,可以保证数据库中的数据不会因为字符范围的限制而出现乱码或截断的情况。 统一修改编码和排序方式为utf8mb4编码可以通过以下步骤完成: 1. 确认数据库的版本是否支持utf8mb4编码,MySQL 5.5.3及以上的版本才支持utf8mb4编码。可以通过执行`SHOW VARIABLES LIKE 'character_set_server';`和`SHOW VARIABLES LIKE 'collation_server';`命令来验证当前数据库的编码和排序方式。 2. 备份数据库,以防修改过程中出现错误。 3. 修改MySQL的配置文件my.cnf,在[mysqld]下添加以下配置: ``` [mysqld] character_set_server=utf8mb4 collation_server=utf8mb4_unicode_ci ``` 4. 重启MySQL服务,使配置文件的修改生效。 5. 登录MySQL,执行以下命令修改现有的数据库和表的编码和排序方式: ``` ALTER DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 6. 重复步骤5,修改所有需要的数据库和表的编码和排序方式。 经过以上步骤,数据库中的数据就统一修改为utf8mb4编码了。这样做的好处是可以更好地支持多语言字符,特别是一些特殊字符和表情符号,使得数据库中存储的数据更准确和完整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值