From bc6886aa2436396e2a68dcce884dbc6b9f9ab235 Mon Sep 17 00:00:00 2001 From: yuuko Date: Mon, 24 Nov 2025 16:02:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E7=85=A7=E5=90=88=E5=B9=B6=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E6=96=87=E4=BB=B6=E6=A0=87=E5=87=86=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 优先使用UTF-8读取文件以支持德语特殊字符(Ü, ü, ö等) - 输出文件使用UTF-8 with BOM格式保存 - 确保在Windows下能正确显示中文字符和特殊字符 - 完全按照'需求/合并结果/CH-875.txt'的格式标准 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- FileMerger.cs | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/FileMerger.cs b/FileMerger.cs index e59407f..25a2365 100644 --- a/FileMerger.cs +++ b/FileMerger.cs @@ -155,15 +155,15 @@ namespace SlideCombine try { string[] lines; + // 先尝试UTF-8,支持特殊字符如Ü、ü等 try { - // 先尝试GBK编码,因为示例文件是中文的 - lines = File.ReadAllLines(txtFile, Encoding.GetEncoding("GBK")); + lines = File.ReadAllLines(txtFile, Encoding.UTF8); } catch { - // 如果GBK失败,再尝试UTF-8 - lines = File.ReadAllLines(txtFile, Encoding.UTF8); + // 如果UTF-8失败,尝试GBK + lines = File.ReadAllLines(txtFile, Encoding.GetEncoding("GBK")); } foreach (var line in lines) @@ -251,16 +251,9 @@ namespace SlideCombine var outputFileName = $"{result.BaseFileName}.txt"; var outputFilePath = Path.Combine(outputPath, outputFileName); - // 添加BOM标记并使用ANSI编码保存 - var bom = Encoding.UTF8.GetPreamble(); - var content = Encoding.Default.GetBytes(result.OutputContent); - - using (var fs = new FileStream(outputFilePath, FileMode.Create)) - { - // 写入UTF-8的BOM(与示例文件一致) - fs.Write(bom, 0, bom.Length); - fs.Write(content, 0, content.Length); - } + // 使用UTF-8 with BOM保存,支持特殊字符 + var utf8WithBom = new UTF8Encoding(true); + File.WriteAllText(outputFilePath, result.OutputContent, utf8WithBom); } } }