MYSQL中文乱码以及character_set_database属性修改

时间:2022-06-29 03:48:20

新安装MYSQL,还没有修改数据库系统编码。

之后由于创建数据库时候:create database db_name; 没有指定编码,之后发现乱码就修改各个属性之后还是乱码,便开始配置数据库属性,之后信息如下:

+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1                       |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

发现character_set_database该属性设置utf8之后依旧还是Latin1 ,其实这个属性是数据库属性,在创建数据库时候如果不指定默认就是这个,因此对于创建的数据库可以修改数据库编码为utf8,修改脚本:

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

之后还是乱码,由于之前数据错误编码,所以设置utf8依旧乱码,删除数据重新导入即可。因此为了避免此问题,以后安装数据库首要任务就是配置编码,创建数据库时候指定编码:

CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;

参考:

https://blog.csdn.net/huanbia/article/details/80208466