linux版navicat导入windows导出的.ncx文件必须确保主版本一致(如16.x→16.x),否则报invalid connection file或连接列表为空;需清除bom、改换行符为lf,重设ssh路径与代理,并配置utf-8 locale及set names utf8mb4。

Linux版Navicat导入Windows导出的.ncx文件必先确认版本兼容性
Navicat连接配置不是纯文本,跨系统直接复制Connections.ncx会失败——Linux版无法识别Windows生成的加密结构,尤其v15与v17之间格式不互通。必须用Navicat内置流程导出/导入,且源和目标主版本号(如16.x → 16.x)需一致。
常见错误现象:Invalid connection file、连接列表为空、双击连接无响应(无报错但卡死)。
- v16导出的.ncx在v17上导入大概率静默失败,官方未提供转换工具
- v15导出时密码字段不可选,导入后仍需重输;v16+必须手动勾选
Include password并设临时主密码(如temp123) - 若只有旧版配置目录但没装旧版Navicat,基本只能重配——Navicat不公开.ncx结构,逆向解析成本过高
导入前必须清理.ncx文件的Windows编码痕迹
Linux版Navicat对BOM和换行符更敏感:Windows导出的.ncx默认带UTF-8 BOM和CRLF,Linux端读取时可能解析异常,导致中文连接名变方块、字段截断或加载失败。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 用VS Code打开.ncx文件,右下角点击编码 →
Save with Encoding→ 选UTF-8 (no BOM) - 右下角点击换行符 → 改为
LF→ 保存 - macOS用户还需执行
xattr -d com.apple.quarantine ~/Library/Application\ Support/PremiumSoft/Navicat/Connections.ncx清除隔离属性(即使文件来自Windows)
导入后SSH私钥路径和代理配置几乎必然失效
Navicat保存的是绝对路径,Windows的C:\Users\xxx\.ssh\id_rsa在Linux上根本不存在;HTTP/SOCKS代理配置也不会随.ncx迁移。
- 逐个打开连接 → 切到
SSH选项卡 → 手动重新指定私钥路径(如/home/user/.ssh/id_rsa) - 检查
SSH 用户名和SSH 密码字段——即使导出了主密码,SSH认证凭据也不共享 - 代理设置需对照原截图或记忆重填,
Options.xml里的代理配置不会被.ncx包含
Linux终端locale与Navicat编码设置必须双重对齐
即使.ncx文件本身没问题,Linux终端环境不匹配也会导致乱码或连接测试失败。Navicat在Linux上依赖系统locale解码配置,但执行连接时又只认自身初始化命令。
- 运行
locale | grep UTF-8确认输出含UTF-8;若无,临时执行export LANG=en_US.UTF-8 - 在Navicat连接属性 →
高级页中,必须勾选Use Unicode UTF-8 -
Initial command框里填入SET NAMES utf8mb4;——这个设置决定MySQL连接层字符集,和.ncx文件编码无关
最易忽略的一点:ncx文件里的中文连接名是否正常显示,不等于连接能真正建立;必须点测试连接,且看到“连接成功”弹窗才算通过。










