1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Linux下MySQL数据库乱码 Linux下MySQL修改默认字符集

Linux下MySQL数据库乱码 Linux下MySQL修改默认字符集

时间:2023-03-03 12:05:32

相关推荐

Linux下MySQL数据库乱码 Linux下MySQL修改默认字符集

MySQL8.0默认字符集编码utf8mb4

使用以下命令查看默认字符集编码(在MySQL下使用)

show variables like ‘%character%’;

±-------------------------±-------------------------------+

| Variable_name | Value |

±-------------------------±-------------------------------+

| character_set_client | utf8mb4 |

| character_set_connection | utf8mb4 |

| character_set_database | utf8mb4 |

| character_set_filesystem | binary |

| character_set_results | utf8mb4 |

| character_set_server | utf8mb4 |

| character_set_system | utf8mb3 |

| character_sets_dir | /usr/share/mysql-8.0/charsets/ |

±-------------------------±-------------------------------+

MySQL8.0建立数据库,字符集默认,向表中插入中文数据后

没有问题。查看表默认字符集是utf8mb4

mysql> show create table dbtable1;

±---------±------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |

±---------±------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| dbtable1 | CREATE TABLEdbtable1(

idint NOT NULL AUTO_INCREMENT,

usernamevarchar(20) NOT NULL,

passwordvarchar(20) DEFAULT NULL,

namevarchar(20) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |

±---------±------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

mysql> select * from dbtable1;

±—±---------±---------±-------+

| id | username | password | name |

±—±---------±---------±-------+

| 1 | 123 | 123 | 张三 |

±—±---------±---------±-------+

1 row in set (0.00 sec)

MySQL5.7默认字符集编码latin1,所以导致乱码

修改默认字符集编码,在家目录下使用命令

vim /etc/f

进入MySQL配置文件

按i进入编辑模式

在配置文件中添加配置

character_set_server=utf8

esc退出编辑模式

:wq保存退出

改完配置文件后需要重启MySQL服务

systemctl restart mysqld

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。