DBeaver导出SQL脚本报“Unknown command ‘\’”是因编码不匹配,须在“转储数据库→选项→字符集”中选utf8mb4;修复文件可用VS Code存为UTF-8 with BOM或iconv命令转码;导入时需在“执行脚本→高级→额外命令参数”填--default-character-set=utf8mb4。

用DBeaver导出SQL脚本时突然报错“Unknown command ‘\’”或“Process failed (exit code = 1)”,说明编码不匹配已导致脚本解析失败,必须立即修正字符集参数才能继续。
导出SQL脚本前强制指定UTF-8编码
打开DBeaver → 左侧数据库连接右键 → “工具” → “转储数据库” → 在弹出窗口中切换到“选项”页签 → 找到“字符集”下拉框 → 选择【utf8mb4】(不是utf8,否则emoji和生僻字仍会乱码)。
这一步必须做,因为DBeaver默认可能沿用系统编码(如Windows的GBK),而MySQL 5.7+及所有现代应用都依赖utf8mb4完整支持Unicode。
勾选“压缩输出”可减少文件体积,但不要勾选“包含USE语句”——若目标库名与导出时不一致,会导致恢复时报错Table doesn't exist。
修复已损坏的SQL文件编码
方法一:用VS Code重新保存为UTF-8带BOM格式
用VS Code打开报错的.sql文件 → 右下角点击当前编码(如“GBK”或“UTF-8”)→ 选择“Save with Encoding” → 点击“UTF-8 with BOM”。
方法二:命令行批量转码(Linux/macOS)
执行:iconv -f gbk -t utf-8mb4 input.sql > output_fixed.sql。注意-f参数必须填对原始编码,误判会导致中文全变问号。
【关键提醒】Windows记事本另存为UTF-8会悄悄加入BOM头,而某些MySQL客户端无法识别BOM,反而引发新错误;务必用VS Code或Notepad++操作,禁用记事本。
导入时绕过编码冲突的三步操作
第一步:右键目标数据库 → “工具” → “执行脚本”。
第二步:在弹窗中点击“浏览”选择已修复的SQL文件 → 展开“高级”选项 → 在“额外命令参数”框内粘贴:【--default-character-set=utf8mb4】(前后无空格,大小写敏感)。
第三步:勾选“自动提交”,取消勾选“忽略错误”——后者虽能跳过单条失败语句,但会掩盖主键冲突、重复插入等真实问题。
这三步做完,导入进程将强制以utf8mb4协议解析整个文件,不再因反斜杠\、注释符号/*或中文字段名触发Unknown command报错。


















