一个工具和一个MCP
原创 舞动的代码 2026-05-31 08:00 河北

上一篇文章我只是说了一下关于宝盒升级的事情,没想到有那么多人关注。只是他们好像关注错了,我说的宝盒是码农宝盒而这些人需要的是宝盒TV,我没用过这个软件
现在不管哪家 AI,生成出来的文件编码,默认都是 UTF-8。这对现代项目没问题,但对我们老 Delphi 项目就很容易出问题。至于现代项目我也有点想说,就是如果项目不使用第三方是可以的,但是如果使用到了闭源的第三方控件这里面还是会牵扯到编码的问题,因为在Windows下默认的是ANSI编码
编码问题
我这里给大家讲清楚 Windows 开发中最容易混淆的编码问题,也是 Delphi 老项目迁移、AI 代码整合时90% 乱码的根源。
ANSI 和 GBK 到底是不是同一个编码?
很多人一直搞混 ANSI 和 GBK,这里用一个比喻:ANSI 是面具,GBK 是面具下真实的人。ANSI 不是具体编码,它是 Windows 对「系统默认编码」的统称,它是动态变化的:
- 中文 Windows:ANSI = GBK
- 日文 Windows:ANSI = Shift-JIS
- 韩文 Windows:ANSI = EUC-KR
也就是说:面具永远叫 ANSI,但面具底下的编码,每个国家都不一样。这也是为什么写代码、做转码工具时,不能写 ANSI,必须写 GBK。因为程序不认“ANSI”这个模糊代号,只认固定的编码名称。
UTF-8、UTF-8 BOM 核心区别
很多人分不清 UTF-8 和 UTF-8 BOM,甚至以为是两种编码,其实:正文内容 100% 一模一样,唯一区别:文件开头有没有 3 个隐藏字节。 什么是 BOM? BOM 全称 Byte Order Mark(字节顺序标记),十六进制为:EF BB BF,占用文件开头 3 字节。BOM 最初根本不是给 UTF-8 用的,是为 UTF-16 / UTF-32 设计的。因为 UTF-16 存在大小端字节序问题,系统需要靠 BOM 判断字节排列顺序,否则会解析错乱。 为什么 Windows 非要给 UTF-8 加 BOM? UTF-8 本身是无字节顺序问题的,理论上完全不需要 BOM。但微软为了方便系统识别编码,强行把 BOM 引入了 UTF-8:
- 记事本、VS、Delphi、Visual Studio 默认保存 UTF-8 都会带 BOM
- Windows 靠这 3 个字节快速区分:是 ANSI 还是 UTF-8
简单说:BOM 是 Windows 的专属习惯,不是标准规范。
BOM 带来的致命兼容问题
Windows 喜欢 BOM,但所有跨平台、类 Unix 环境全部不兼容 BOM。这也是 Delphi 项目对接 AI、Python、Git、Linux 时疯狂乱码的元凶:
- Python、Linux、MacOS、WSL、Git 会把 EF BB BF 当成正文内容
- 导致头部神秘乱码、注释炸行、脚本执行异常
- 网页前端带 BOM 会出现顶部空白、奇怪符号
- AI 生成的 UTF-8 全部是 无 BOM 标准格式
为什么 Delphi 老项目必须用 ANSI(GBK),新项目喜欢 UTF-8 BOM?
Delphi IDE 是纯 Windows 原生软件,完全跟随 Windows 编码逻辑:
- 老版本 Delphi:默认全部是系统 ANSI(GBK)编码
- 新版本 Delphi:支持 UTF-8,但为了不认错编码,默认保存 UTF-8 BOM
对 Delphi 来说:加 BOM = 明确告知 IDE 这是 UTF-8,不要再当成 GBK 乱解析。但也正因如此,Delphi 编码和现代 AI、跨平台工具天生不兼容。
现在 AI 生成的所有代码、注释、文本,清一色 UTF-8 无 BOM。而我们的 Delphi 老项目是 GBK(ANSI),新版工程是 UTF-8 BOM。三者混在一起,直接导致:
- 中文乱码
- 跨设备、跨 Git、跨 WSL 全部不兼容
为了解决 Delphi 项目「ANSI/GBK、UTF-8 BOM、UTF-8 无 BOM」混乱问题,我专门做了一套针对 Delphi 源码的精准编码转换工具,支持递归整项目转换、精准识别 pas/dpr/dfm/inc 文件,完美适配 AI 开发与跨平台协作。

Delphi项目自动编译
解决完编码兼容问题后,为了彻底打通AI + Delphi 开发全流程,这里给大家推荐一款开源轻量 MCP 服务工具:delphi-compiler-mcp,非常适合适配 AI 自动化编译 Delphi 项目。
开源地址:https://github.com/unununununununun/delphi-compiler-mcp
项目核心定位 这是一款开源的、基于 MCP(模型上下文协议)构建的Delphi 原生编译自动化服务,专门适配 Windows 平台 RAD Studio/Delphi 开发环境。核心作用是将 Delphi 官方原生编译器封装为标准化 MCP 工具,彻底告别手动打开 IDE、手动点击编译的繁琐操作,支持各类 AI 客户端远程调用编译指令。 完美适配 Cursor、Claude Code 等支持 MCP 协议的 AI 工具,实现真正意义上的AI 驱动 Delphi 自动化开发。
MCP 配置接入
配置核心简单,适配 Claude Code、Cursor 等所有 MCP 终端,唯一必填环境变量为 DELPHI_PATH,专门用于指定本地 Delphi 开发工具的安装根目录,工具会根据该路径自动读取本地编译器、工程配置,无需手动适配版本:
{"mcpServers":{"delphi-compiler":{"command":"delphi-compiler-mcp","env":{"DELPHI_PATH":"C:\\Program Files (x86)\\Embarcadero\\Studio\\23.0"}}}}
这里有一点说明,就是我们知道程序是分debug和Release 的,那么这个MCP在打包的时候我们的IDE选择是什么模式,那么它生成的就是什么模式下的软件
最后说一下工具的下载地址
链接: https://pan.baidu.com/s/1Hwstf1oiigQmbIgJLN49XQ 提取码: pkgz
至此结束!