From 8e2839ac39a1888b3bf7d12a5f4c28ebbbe0b4e8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 25 May 2025 12:44:23 +0000 Subject: [PATCH 1/2] Initial plan for issue From 013207a751e54412eedf5e30b4ee15a511efc45a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 25 May 2025 12:51:34 +0000 Subject: [PATCH 2/2] Fix UTF-8 BOM handling in MonacoPreviewHandler Co-authored-by: lei9444 <39758135+lei9444@users.noreply.github.com> --- .../MonacoPreviewHandler/MonacoPreviewHandlerControl.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs b/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs index 68dde66e3c6c..a7c2c1a466ca 100644 --- a/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs +++ b/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs @@ -389,6 +389,15 @@ private void InitializeIndexFileAndSelectedFile(string filePath) } fileReader.Close(); + + // Remove BOM character if present to avoid encoding issues when converting to base64 + // BOM character might be present as U+FEFF even though StreamReader should normally handle it + if (fileContent.Length > 0 && fileContent[0] == '\uFEFF') + { + fileContent = fileContent.Substring(1); + Logger.LogInfo("Removed UTF-8 BOM character from file content"); + } + _base64FileCode = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(fileContent)); Logger.LogInfo("Reading requested file ended"); }