MySQL Workbench导入UTF-8 CSV文件时出现编码错误求助
解决UTF-8 CSV插入MySQL编码乱码问题
确认CSV文件实际编码
别默认文件是UTF-8,用Notepad++、VS Code这类工具打开CSV,查看右下角的编码标识。如果是UTF-8带BOM格式,改成UTF-8无BOM再尝试插入。Linux/macOS也可以用命令file -i your_file.csv直接查看文件编码。强制指定数据库连接编码
插入数据前先执行编码设置语句,覆盖Workbench的默认配置:SET character_set_client = utf8mb4; SET character_set_connection = utf8mb4; SET character_set_results = utf8mb4;如果用
LOAD DATA INFILE导入,直接在语句里指定编码:LOAD DATA INFILE '/path/to/your.csv' INTO TABLE your_table CHARACTER SET utf8mb4 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 ROWS; -- 有表头时加这行统一数据库、表、字段的编码
执行以下命令检查编码一致性:-- 查数据库编码 SELECT @@character_set_database; -- 查表和字段编码 SHOW CREATE TABLE your_table;如果发现编码不统一,直接修改表编码:
ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;修正Workbench的编码配置
- 打开
Edit > Preferences > Editor > Fonts & Colors,确认Character Set设为utf8mb4 - 新建或编辑数据库连接时,在
Connection > Advanced里,把Character Set明确设为utf8mb4,不要留空
- 打开
验证结果
插入后执行查询语句:SELECT column_name FROM your_table WHERE id=8;如果命令行mysql客户端查询正常但Workbench显示乱码,说明是Workbench的显示编码未配置正确,重复上面的Workbench设置步骤即可。
内容的提问来源于stack exchange,提问作者bdvazquez17
相关产品推荐
相关产品推荐

