在 Ubuntu 上设置 MySQL 编码(通常推荐 UTF-8 / utf8mb4),一般分为服务器配置和数据库/表级别两部分。下面按常见场景说明。
Ubuntu 下通常是:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
(有些版本是 /etc/mysql/my.cnf 或 /etc/mysql/conf.d/mysql.cnf)
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
sudo systemctl restart mysql
登录 MySQL:
mysql -u root -p
执行:
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
应看到类似:
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
如果数据库在改配置前已存在,需要手动修改。
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如果你告诉我:
我可以给你更精确的步骤。