
1. 为什么一个“设置中文”的需求背后藏着不少门道Navicat 这款数据库管理工具但凡做过后端开发、数据分析或者运维的朋友大概率都接触过。它的图形化界面把 MySQL、PostgreSQL、SQLite、Oracle 等主流数据库的连接、查询、建模、同步都收进了一个窗口里用起来确实省事。但很多人第一次装完之后面对满屏英文菜单第一反应就是——怎么把它改成中文这个问题看起来简单实际动手时会发现情况比想象中复杂。不同版本、不同安装方式、不同操作系统下语言切换的入口位置并不完全一致。有人装了 Navicat Premium 17在选项里翻了半天没找到语言设置有人用的是较老的 Navicat Premium 15菜单结构又不一样还有人装完之后发现界面是中文了但数据库里的中文数据却显示成乱码——这其实是两个完全不同的问题前者是界面语言后者是字符集编码。我身边不少同事和读者都问过类似的问题踩过的坑也五花八门。所以这篇内容我打算把 Navicat 设置中文这件事从头到尾讲透包括界面语言切换的正确路径、不同版本的操作差异、中文乱码的真正原因和解决办法以及一些安装配置阶段容易忽略的细节。不管你是刚接触 Navicat 的新手还是用了几年但一直没认真研究过配置的老用户应该都能从中找到有用的东西。提示本文讨论的是 Navicat 官方正版软件的界面语言设置和中文显示问题涉及的操作均基于官方发布的功能。建议通过官方渠道获取软件以获得完整的功能支持和更新服务。2. Navicat 界面语言切换的完整操作路径2.1 先搞清楚你用的是哪个版本和哪个平台在动手之前有必要先确认两件事你用的是 Navicat 的哪个产品线以及你的操作系统是什么。Navicat 的产品线包括 Navicat Premium全能版支持多种数据库、Navicat for MySQL、Navicat for PostgreSQL 等。不同产品线的菜单结构大同小异但版本号的影响更大。Navicat Premium 16 及以上版本语言设置的位置比较统一在“Tools”菜单下的“Options”里。而 Navicat Premium 15 及更早的版本有些是在“Tools”菜单里直接有一个“Language”选项有些则需要在安装时选择语言包。macOS 版本和 Windows 版本的菜单布局也有差异macOS 的偏好设置入口在应用菜单栏下而不是 Tools 菜单里。所以第一步打开 Navicat点击顶部菜单栏的“Help”或“About”确认你的具体版本号。这个信息决定了你接下来该走哪条路径。2.2 Windows 平台下的语言切换步骤假设你用的是 Navicat Premium 16 或 17 的 Windows 版本操作流程是这样的打开 Navicat不需要连接任何数据库直接在主界面上操作即可。点击顶部菜单栏的Tools工具。在下拉菜单中找到并点击Options选项。在弹出的选项窗口左侧列表中找到General常规或Appearance外观分类。在右侧面板中找到Language语言下拉框。从下拉列表中选择简体中文或Chinese (Simplified)。点击OK保存设置。部分版本会提示需要重启 Navicat 才能生效关闭软件重新打开即可看到中文界面。这里有个细节值得注意如果你的 Navicat 是较老的版本比如 Navicat Premium 12 或更早Options 里可能根本没有 Language 这个选项。这种情况下语言切换依赖于安装时是否勾选了中文语言包。如果没有需要重新运行安装程序在安装向导的语言选择步骤中勾选中文。另外某些版本在 Options 的 General 分类下Language 选项可能显示为灰色不可选。这通常是因为安装的是单语言版本需要下载对应语言包或者重新安装多语言版本。2.3 macOS 平台下的操作差异macOS 上的 Navicat 语言设置入口和 Windows 不太一样。打开 Navicat 后点击屏幕左上角菜单栏中的Navicat Premium也就是应用名称那一项然后选择Preferences偏好设置。在偏好设置窗口中找到General标签页里面会有Language下拉选项。选择中文后同样需要重启应用。macOS 版本还有一个特点它会跟随系统的语言设置。如果你的 macOS 系统语言是中文某些版本的 Navicat 会自动以中文界面启动。如果系统语言是英文但你想让 Navicat 显示中文就需要手动在偏好设置里指定。2.4 语言设置不生效时的排查思路有时候你明明选了中文重启后界面还是英文。这种情况我遇到过几次原因通常有以下几个版本不支持部分旧版本或特定发行版不包含中文语言资源Options 里的 Language 选项可能是个摆设。配置文件权限问题Navicat 的语言偏好保存在配置文件中如果配置文件所在目录没有写入权限设置无法保存。Windows 下通常在用户目录的 AppData 文件夹里macOS 下在 ~/Library/Preferences 下。安装文件损坏语言资源文件在安装过程中丢失或损坏导致切换无效。重新安装通常能解决。多版本冲突电脑上同时装了多个版本的 Navicat快捷方式指向的不是你刚设置的那个版本。排查的时候可以按这个顺序来先确认版本号再检查 Options 里 Language 选项是否可选然后看配置文件是否可写最后考虑重装。大部分情况下重装一次就能解决。3. 界面中文了但数据乱码这是另一个问题3.1 界面语言和字符集编码是两码事很多人把“Navicat 设置中文”理解成一件事实际上它至少包含两个层面一是软件界面的显示语言二是数据库连接中中文数据的正确显示。前者是软件本身的 UI 语言设置后者涉及数据库的字符集和连接编码配置。两者互不隶属界面改成中文不代表数据就不会乱码反过来也一样。我见过不少这样的情况用户把 Navicat 界面调成了中文打开一张表却发现里面的中文内容全是问号或者奇怪的符号。这时候再去翻语言设置是没用的问题出在连接配置或数据库字符集上。3.2 中文乱码的常见原因分析数据库中文乱码的根源通常可以归结为以下几种连接编码不匹配。Navicat 连接 MySQL 时默认使用的编码可能和数据库服务端的字符集不一致。比如数据库用的是 utf8mb4而连接编码是 latin1中文数据在传输过程中就会被错误解码。数据库或表的字符集设置不当。创建数据库时没有指定字符集使用了默认的 latin1后续存入的中文数据在底层就是以错误编码存储的这种情况下即使连接编码正确读出来的也是乱码。导入导出时的编码选择错误。用 Navicat 的导入向导导入 CSV 或 SQL 文件时如果文件本身是 UTF-8 编码但导入时选了 GBK或者反过来中文就会乱码。操作系统区域设置影响。Windows 系统如果区域设置不是中文某些情况下会影响 Navicat 对中文的显示处理不过这种情况在新版本中已经比较少见。3.3 针对 MySQL 的字符集排查与修复MySQL 是目前 Navicat 用户最常连接的数据库中文乱码问题也最集中。排查步骤可以这样走首先在 Navicat 中打开一个查询窗口执行以下 SQL 查看数据库的字符集设置SHOW VARIABLES LIKE character_set%; SHOW VARIABLES LIKE collation%;重点关注character_set_server、character_set_database、character_set_client、character_set_connection、character_set_results这几个变量。理想情况下它们应该统一为 utf8mb4 或 utf8。如果发现character_set_server是 latin1说明 MySQL 服务端的默认字符集不对。这需要在 MySQL 的配置文件my.cnf 或 my.ini中修改[mysqld] character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci [client] default-character-setutf8mb4修改后重启 MySQL 服务。注意这只影响新建的数据库已有的数据库需要单独修改ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;对于已有的表ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;在 Navicat 的连接设置里也可以手动指定编码。右键点击连接选择“编辑连接”在“高级”标签页中找到“编码”选项将其设置为 utf8mb4 或 自动。这样能确保 Navicat 和 MySQL 之间的数据传输使用正确的编码。3.4 导入导出场景下的编码选择用 Navicat 的导入向导处理 CSV 文件时向导中会有一个步骤让你选择文件编码。这里的原则很简单文件是什么编码就选什么编码。如果不确定可以用文本编辑器打开 CSV 文件查看其编码格式。Windows 上记事本保存的 CSV 默认可能是 ANSI简体中文环境下即 GBK而很多系统导出的 CSV 是 UTF-8。选错了编码导入后的中文就会变成乱码。如果已经导入了乱码数据只能删掉重新导入因为错误编码存储的数据在底层已经损坏无法通过简单的编码转换恢复。导出时同样要注意。选择导出为 SQL 文件时Navicat 会询问文件编码建议选 UTF-8。如果导出后要在 Windows 环境下用记事本打开查看选 ANSI 可能更方便但跨平台使用时 UTF-8 是更安全的选择。4. 安装与配置阶段就该注意的几个关键点4.1 安装时的语言选项别跳过Navicat 的安装向导中有一个步骤是选择安装语言或界面语言。很多人一路点“下一步”直接跳过了这个步骤结果装完之后发现界面是英文的又回头去找设置。其实在安装时直接选好中文能省掉后续不少麻烦。Windows 安装程序通常会在开始阶段让你选择安装语言这个选择会影响安装向导本身的显示语言但不一定影响软件界面的语言。软件界面的语言还是要在安装完成后通过 Options 来设置。不过某些版本在安装时会询问是否安装额外的语言包这时候勾选中文语言包后续切换会更顺畅。4.2 安装路径和权限的注意事项Navicat 默认安装在 C 盘的 Program Files 目录下。如果你用的是 Windows 且没有管理员权限安装过程可能会出问题或者安装后配置文件无法正常写入。建议在安装时右键选择“以管理员身份运行”确保安装程序有足够的权限。另外安装路径中尽量避免包含中文或特殊字符。虽然新版本的 Navicat 对中文路径的支持已经好了很多但为了避免一些莫名其妙的兼容性问题用纯英文路径是更稳妥的做法。macOS 上安装相对简单拖拽到 Applications 文件夹即可。但要注意如果之前安装过旧版本最好先彻底卸载再装新版本避免配置文件冲突导致语言设置异常。4.3 首次启动后的基础配置建议装好 Navicat 并设置好中文界面之后有几个基础配置建议顺手做了调整字体大小在 Options 的 Editor 或 Fonts 设置里可以把 SQL 编辑器的字体调大一些长时间看代码会舒服很多。设置默认编码在 Options 的 General 或 Editor 里把默认编码设为 UTF-8减少后续乱码的概率。配置自动保存开启查询自动保存功能避免意外关闭导致 SQL 丢失。检查更新设置根据个人习惯决定是否开启自动检查更新。这些设置都不复杂但能明显提升日常使用的体验。5. 几个高频疑问的集中解答5.1 Navicat Premium 17 和 18 的语言设置有什么不同Navicat Premium 17 和 18 在语言设置的基本路径上是一致的都在 Tools 菜单的 Options 里。区别在于 18 版本对界面做了一些调整Options 窗口的分类更加细化Language 选项可能被归到了“Appearance”或“Interface”分类下而不是“General”。如果你在 General 里找不到不妨看看其他分类。另外18 版本对高分辨率屏幕的支持更好界面缩放和字体渲染都有优化中文显示效果比旧版本更清晰。如果你用的是 4K 显示器建议升级到较新的版本。5.2 为什么我的 Navicat 没有 Language 选项前面提到过这通常是因为安装的是单语言版本。Navicat 的某些发行版只包含英文界面不包含其他语言资源。解决办法是去官网下载多语言版本或者下载对应的语言包。需要注意的是语言包需要和软件版本严格匹配版本不对可能导致软件无法启动。还有一种可能是你的 Navicat 版本太老。Navicat Premium 11 及更早的版本语言支持机制和现在完全不同有些版本甚至没有内置的语言切换功能。如果版本确实太旧建议考虑升级。5.3 设置中文后部分菜单仍然是英文这种情况一般出现在语言包不完整的时候。Navicat 的中文翻译覆盖率虽然很高但某些新功能或插件相关的菜单项可能还没有对应的中文翻译会显示为英文。这属于正常现象不影响使用。随着版本更新翻译覆盖率会逐步提高。如果大部分菜单都是英文只有少数是中文那可能是语言包加载出了问题。尝试重新选择语言并重启软件或者重新安装。5.4 连接远程数据库时中文显示异常连接远程 MySQL 或 PostgreSQL 时出现中文乱码排查思路和本地连接类似但要多考虑一个因素网络传输过程中的编码转换。某些中间件或代理可能会改变数据的编码。这种情况下除了检查数据库本身的字符集还要确认连接字符串中的编码参数是否正确。对于 MySQL可以在 Navicat 连接的“高级”设置里指定编码为 utf8mb4。对于 PostgreSQL需要确认数据库的 encoding 是 UTF8并且客户端的 client_encoding 也设置为 UTF8。6. 日常使用中保持中文正常显示的习惯把 Navicat 设置成中文界面只是第一步日常使用中养成一些好习惯能避免很多编码相关的麻烦。创建新数据库时养成显式指定字符集的习惯。不要依赖数据库的默认设置而是明确写上CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci。这一条建议适用于 MySQL 和 MariaDBPostgreSQL 则是在创建数据库时指定ENCODING UTF8。写 SQL 文件时统一用 UTF-8 编码保存。不管是 Navicat 内置的编辑器还是外部编辑器都保持这个习惯。如果团队协作最好在项目规范里明确要求 SQL 文件的编码格式。导入外部数据前先确认文件编码。用file命令Linux/macOS或者文本编辑器的编码检测功能确认一下再在导入向导里选择对应的编码。这一步花不了几秒钟但能省掉重新导入的麻烦。定期检查数据库的字符集设置。特别是接手别人维护的数据库时先跑一遍SHOW VARIABLES LIKE character_set%心里有个底。如果发现字符集不统一尽早统一到 utf8mb4避免后续数据量大了之后迁移成本更高。我自己在实际操作中的体会是Navicat 的中文设置本身并不复杂真正容易出问题的是字符集这一块。界面语言改错了大不了看英文但数据乱码如果发生在生产环境排查起来就头疼了。所以与其等到出问题再救火不如在安装配置阶段就把编码相关的设置一次性做对。另外养成用 SQL 语句查看字符集变量的习惯比在图形界面里翻来翻去要快得多也更准确。