版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
https://windtear.net/2025/11/change_to_utf-8_and_upgrade_to_movable_type_881.html
历史原因 以前一直是 gbk
2025-11-27 全站切换为 UTF-8 同时开启 IPv6 访问
顺便更新到 Movable Type 8.8.1
https://movabletype.org/documentation/appendices/release-notes/8.8.1.html
GBK 切换为 UTF-8 记录
# 备份原始 GBK 数据库
mysqldump --default-character-set=gbk --hex-blob dbname > backup_gbk.sql
echo "步骤2: 导出转换数据..."
mysqldump \
--default-character-set=gbk \
--complete-insert \
--hex-blob \
--skip-extended-insert \
dbname > dump_utf8mb4.sql
echo "步骤3: 修改字符集和引擎..."
sed -i 's/CHARSET=gbk/CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci/g' dump_utf8mb4.sql
sed -i 's/CHARACTER SET gbk/CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci/g' dump_utf8mb4.sql
sed -i 's/ENGINE=MyISAM/ENGINE=InnoDB ROW_FORMAT=DYNAMIC/g' dump_utf8mb4.sql
# 创建新数据库为 utf8mb4
create database dbname DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
echo "步骤6: 导入 UTF8MB4 数据..."
mysql --default-character-set=utf8mb4 dbname < dump_utf8mb4.sql
SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';
mysql> SHOW VARIABLES LIKE 'character_set_database';
+------------------------+---------+
| Variable_name | Value |
+------------------------+---------+
| character_set_database | utf8mb4 |
+------------------------+---------+
1 row in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'collation_database';
+--------------------+--------------------+
| Variable_name | Value |
+--------------------+--------------------+
| collation_database | utf8mb4_general_ci |
+--------------------+--------------------+
1 row in set (0.00 sec)
-- 查看当前数据库字符集
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'dbname';
+----------------------------+------------------------+
| DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME |
+----------------------------+------------------------+
| utf8mb4 | utf8mb4_general_ci |
+----------------------------+------------------------+
1 row in set (0.01 sec)
-- 查看表字符集
SELECT TABLE_NAME, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbname';
+--------------------+--------------------+
| TABLE_NAME | TABLE_COLLATION |
+--------------------+--------------------+
| mt_accesstoken | utf8mb4_general_ci |
| mt_asset | utf8mb4_general_ci |
cgi-bin//mt-config.cgi
修改为
PublishCharset UTF-8
测试
😀, ❤️, 👍
字符 Unicode 码点 字节数 (UTF-8)
😀 U+1F600 4 字节
❤️ U+2764 U+FE0F 6 字节
🎉 U+1F389 4 字节
🌟 U+1F31F 4 字节
|