對于 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< filename.sql
使用該命令將 SQL 文件導入到 MySQL 數據庫中,確保正確識別 SQL 文件中的中文字符。
5. 使用 SET NAMES 'utf8mb4' 命令
SET NAMES 'utf8mb4';
如果在導入 SQL 文件時仍然出現亂碼,可以在導入前使用該命令,手動設置 MySQL 數據庫的編碼為 utf8mb4。