对于 MySQL 处理含有中文的 SQL 文件,需要注意以下几点:
1. 确认数据库编码
SHOW VARIABLES LIKE 'character_set_database';
使用该命令可以查看当前数据库的编码格式,一般建议使用 utf8mb4 编码,支持更多的字符集。
2. 确认 SQL 文件编码
file -I filename.sql
使用该命令可以查看 SQL 文件的编码格式,一般同样建议使用 utf8mb4 编码。
3. 使用 UTF-8 BOM 编码
sed -i '1 s/^\xEF\xBB\xBF//' filename.sql
使用该命令可以将 utf8mb4 编码的 SQL 文件转化为 UTF-8 BOM 编码,以确保在 MySQL 中正确解析含有中文的 SQL。
4. 使用 mysql 命令导入 SQL 文件
mysql -u username -p dbname使用该命令将 SQL 文件导入到 MySQL 数据库中,确保正确识别 SQL 文件中的中文字符。
5. 使用 SET NAMES 'utf8mb4' 命令
SET NAMES 'utf8mb4';如果在导入 SQL 文件时仍然出现乱码,可以在导入前使用该命令,手动设置 MySQL 数据库的编码为 utf8mb4。