方案一:调整全局默认代码页
1
打开 WinMerge,点击菜单栏的 编辑 (Edit) -> 选项 (Options)。
2
在左侧导航栏选择 代码页 (Codepage)。
3
选中 “默认代码页 (Default Codepage)” 并将其设置为 65001 (UTF-8) 或勾选 “检测代码页 (Detect codepage)”。
// 推荐配置建议
Default Codepage: 65001 (UTF-8)
System Codepage: 936 (GBK)
Default Codepage: 65001 (UTF-8)
System Codepage: 936 (GBK)
可视化编码对齐
WinMerge 采用先进的 Visual Textual Reconciliation 算法,支持对 Unicode、UTF-8 及各种传统代码页进行全方位扫描。即使文件本身没有 BOM 头,也能通过启发式检测减少误报。
- ✅ 自动检测行尾一致性 (CRLF vs LF)
- ✅ 支持超过 40 种编程语言的语法高亮
- ✅ 精准的字符级差异高亮
对比窗口模拟
- 浣犲ソ锛屼笘鐣 (乱码)
+ 你好,世界 (正常)
通过切换代码页实现即时修复
方案二:针对单个文件的即时修复
重新加载文件
如果文件已经打开且显示乱码,可以使用 文件 (File) -> 重新载入 (Reload As),然后手动选择对应的编码(如 GB2312 或 UTF-8)。
使用过滤器
通过自定义过滤器排除非文本资源,防止二进制数据干扰编码识别引擎,提高识别准确率。
更多疑难解答资讯
❓ 为什么设置了UTF-8还是乱码?
这可能是因为文件包含特殊的 ANSI 字符或损坏的 BOM 头。尝试使用十六进制模式查看原始字节。
❓ WinMerge支持三方对比合并吗?
是的,WinMerge 支持复杂的 Three-Way Conflict Resolution,专为解决 Git 合并冲突而设计。
❓ 如何导出对比报告?
您可以通过工具栏的“生成报告”功能,将对比结果导出为 HTML 或 XML 格式,方便团队传阅。