mariadb 将 character_set_client 从 latin1 修改为 utf8mb4

分享讨论IT相关的内容
回复
头像
BobMaster
锋芒初露
锋芒初露
帖子: 1207
注册时间: 2020年 12月 7日 08:05
来自: 神秘的东方
我的状态: 🎯
为圈友点赞: 349 次
被赞次数: 189 次
联系:

mariadb 将 character_set_client 从 latin1 修改为 utf8mb4

帖子 BobMaster »

以前没有注意到这个问题,直到在debian12上新装的mariadb-server上导入数据库后发现中文出现了乱码,前后也检查过了数据库的字符集,没发现问题

代码: 全选

SHOW CREATE DATABASE database_name;
使用下面的指令得到

代码: 全选

SHOW VARIABLES LIKE 'character_set_client';

代码: 全选

MariaDB [nextcloud]> SHOW VARIABLES LIKE 'character_set_client';
+----------------------+--------+
| Variable_name        | Value  |
+----------------------+--------+
| character_set_client | latin1 |
+----------------------+--------+
1 row in set (0.001 sec)
这也难怪中文字符会乱码,编辑 /etc/mysql/mariadb.conf.d/50-client.cnf,在 [client] 字段下添加

代码: 全选

default-character-set=utf8mb4
即可解决
重新进mariadb shell,可以看到修改生效了

代码: 全选

MariaDB [(none)]> SHOW VARIABLES LIKE 'character_set_client';
+----------------------+---------+
| Variable_name        | Value   |
+----------------------+---------+
| character_set_client | utf8mb4 |
+----------------------+---------+
1 row in set (0.001 sec)
Reference: Change MySQL default character set to UTF-8 in my.cnf?
人生如音乐,欢乐且自由
头像
ejsoon
圈圈精英
圈圈精英
帖子: 2254
注册时间: 2022年 11月 18日 17:36
为圈友点赞: 99 次
被赞次数: 99 次
联系:

Re: mariadb 将 character_set_client 从 latin1 修改为 utf8mb4

帖子 ejsoon »

某些格式,中文不是亂碼,但表情符號會變成??。如果不及時發現,就會丢失所有表情數據。
https://ejsoon.win/
天蒼人頡:發掘好玩事物
回复
  • 猜你喜欢
    回复总数
    阅读次数
    最新帖子

在线用户

正浏览此版面之用户: 没有注册用户 和 4 访客