From c61381e99dfee0cc0353f506ff6dbe01d2ae2030 Mon Sep 17 00:00:00 2001 From: "METANEOCORTEX\\Kotti" Date: Wed, 11 Mar 2026 23:51:40 +0100 Subject: [PATCH] fix: remove too strong UTF-8 affinity --- src/Edit.c | 6 ------ src/EncodingDetection.cpp | 7 ++----- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/src/Edit.c b/src/Edit.c index 58eb6d76f..59f082a3f 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -1465,12 +1465,6 @@ bool EditLoadFile( status->iEncoding = CPI_UTF8; EditDetectEOLMode(lpData, cbData, status); } - } - else if (!IS_ENC_ENFORCED() && encDetection.bPureASCII7Bit) { - // load ASCII(7-bit) as ANSI/UTF-8 - EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory, bReloadFile); - status->iEncoding = (Settings.LoadASCIIasUTF8 ? CPI_UTF8 : CPI_ANSI_DEFAULT); - EditDetectEOLMode(lpData, cbData, status); } else { // === ALL OTHER NON UTF-8 === diff --git a/src/EncodingDetection.cpp b/src/EncodingDetection.cpp index 49bcb3ae7..c59929b18 100644 --- a/src/EncodingDetection.cpp +++ b/src/EncodingDetection.cpp @@ -1239,9 +1239,6 @@ extern "C" ENC_DET_T Encoding_DetectEncoding(const HPATHL hpath, const char* lpD encDetRes.analyzedEncoding = iAnalyzeHint; encDetRes.confidence = (1.0f - Settings2.AnalyzeReliableConfidenceLevel); } - else if (encDetRes.bPureASCII7Bit && encDetRes.bValidUTF8) { - encDetRes.analyzedEncoding = CPI_UTF8; - } if (!bSkipUTFDetection) { @@ -1306,12 +1303,12 @@ extern "C" ENC_DET_T Encoding_DetectEncoding(const HPATHL hpath, const char* lpD encDetRes.Encoding = encDetRes.analyzedEncoding; } } - else if (!encDetRes.bIsAnalysisReliable && Encoding_IsValid(encDetRes.analyzedEncoding)) + else if (!encDetRes.bIsAnalysisReliable && (Encoding_IsValid(encDetRes.analyzedEncoding) || encDetRes.bPureASCII7Bit)) { // UCHARDET below confidence threshold (UseReliableCEDonly is true) encDetRes.Encoding = encDetRes.bValidUTF8 ? CPI_UTF8 : CPI_ANSI_DEFAULT; } - else if (Encoding_IsUNICODE(encDetRes.unicodeAnalysis) && (iConfidence > 66)) + else if (Encoding_IsUNICODE(encDetRes.unicodeAnalysis) && (iConfidence > 50)) { // unicodeAnalysis (IsTextUnicode) confirms Unicode structure, // iConfidence is from UCHARDET analysis — use analyzedEncoding (intentional)