在 Ubuntu 上修改 MySQL 字符集(通常改为 utf8mb4,推荐用于完整支持中文和 emoji),可以按下面步骤来。
mysql -u root -p
登录后执行:
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
Ubuntu 上通常是:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
(如果是 MariaDB,可能是 /etc/mysql/mariadb.conf.d/50-server.cnf)
[mysqld] 下添加[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client] 和 [mysql],也加上[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
sudo systemctl restart mysql
改配置不会自动改已有数据。
ALTER DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE 表名 MODIFY 列名 VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE 数据库名
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
utf8:MySQL 的 utf8 不是真正 UTF-8(最多 3 字节)如果你告诉我:
5.7 / 8.0)我可以给你更精确的命令。