必须勾选UTF-8 with BOM并启用双引号包裹字段,否则Excel识别为ANSI致中文变问号或字段因含逗号而错位;计划任务需保存为可用连接、设开机启动且关闭退出时关闭后台进程。
导出向导里选不对格式会导致CSV乱码或字段错位
navicat 的导出向导默认用 utf-8 编码,但 windows excel 打开时经常识别成 ansi,结果中文全变问号。必须手动在导出设置里勾选 utf-8 with bom —— 不是“utf-8”,也不是“utf-8 without bom”。bom 是关键,它让 excel 知道这文件该用 utf-8 解码。
字段分隔符也得改:默认是逗号 ,,但如果数据本身含逗号(比如地址字段),不加引号包裹就会劈开字段。务必勾选 Enclose fields in double quotes,并确认 Text qualifier 是 "(双引号)。
常见错误现象:
• 导出后 Excel 里一列中文全显示为方块
• 某行突然多出几列,内容错位
• 数字开头的字段(如 00123)被 Excel 自动转成 123
- 导出前在「高级」选项卡中设置:
Encoding→UTF-8 with BOM -
Field separator保持,,但必须启用Enclose fields in double quotes - 若要保留前导零,导出时勾选
Export column names,并在 Excel 中用「数据 → 从文本/CSV」导入,手动把对应列设为「文本」格式
计划任务无法触发导出,多半是连接配置没保存为“可用”状态
Navicat 的计划任务依赖已保存且可连通的连接。如果连接图标是灰色的、或者右键菜单里没有 Connect 选项,计划任务运行时会静默失败,日志只写一句 Connection failed,不报具体原因。
使用场景:服务器上跑定时报表,但本地 Navicat 关闭后任务就停摆 —— 这是因为 Navicat 计划任务是客户端级的,不是服务端守护进程。它只在 Navicat 后台进程运行时生效,且必须用当前登录用户启动。
使用 qbo-mileage CLI 及用户凭证,从 Airtable、Outlook 或 Google Calendar 记录生成 QuickBooks Online 里程 CSV 文件。
- 检查连接是否“已测试成功”:右键连接 →
Test Connection,通过后再保存 - 确保连接保存时勾选了
Save password(计划任务不支持弹窗输密) - Windows 上需将 Navicat 设为开机启动,并关闭“退出时关闭后台进程”选项(设置 → 常规 →
Close background process when exiting取消勾选)
导出脚本不能直接复用SQL查询,得用“导出向导生成的XML任务文件”
很多人想写个 SELECT * FROM sales WHERE date = CURDATE() 就丢进计划任务,不行。Navicat 计划任务不接受裸 SQL,它调度的是整个导出动作的完整描述,存在一个 XML 格式的任务定义文件里(路径类似 C:\Users\[user]\Documents\Navicat\MySQL\Profiles\[profile]\ExportTasks\)。
性能影响:每次导出都重新建立连接、执行查询、写文件。如果表很大(千万级),建议先在查询窗口中用 CREATE TEMPORARY TABLE 或物化中间结果,再导出临时表——避免重复计算拖慢任务周期。
- 必须通过「导出向导」走完全部步骤,最后点
Save Task生成可调度的任务,不能跳过向导直接写 SQL - 动态时间条件(如昨天)要在 SQL 查询里写死函数,例如
WHERE order_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY),Navicat 不解析变量或参数 - 导出目标路径必须用绝对路径,且 Navicat 进程用户对该路径有写权限(尤其 Windows 服务账户或计划任务用不同用户运行时)
导出失败没提示?重点查“任务日志”和“Windows事件查看器”
Navicat 界面右下角的小日志图标只显示最近几次成功记录,失败往往不显眼。真正可靠的线索在两个地方:Tools → Task Scheduler → 右键任务 → View Log,以及 Windows 的 事件查看器 → Windows 日志 → 应用程序,筛选来源为 Navicat 的错误事件。
容易被忽略的地方:导出路径含中文或空格时,XML 任务文件里会自动 URL 编码(如 %E4%B8%AD%E6%96%87),但某些版本 Navicat 解码失败导致路径无效;还有就是磁盘满、防病毒软件锁定 CSV 文件、杀毒软件拦截 Navicat 写文件 —— 这些都不会在 Navicat 日志里明说。
- 日志路径示例:
C:\Users\[user]\Documents\Navicat\MySQL\Profiles\[profile]\TaskScheduler.log - 导出失败时优先看日志末尾的
Error Code: xxx和System Error:行 - 若日志为空,打开 Windows 事件查看器,筛选“级别=错误”+“来源=Navicat”,常能看到
Access is denied或The system cannot find the path specified

















