From 6c283bde91569542f7f571737b7df9c8e8da5254 Mon Sep 17 00:00:00 2001 From: anders_k Date: Thu, 8 Aug 2013 00:26:59 +0000 Subject: [PATCH] !include defaults to UTF-8 after Unicode True git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6407 212acab6-be3b-0410-9dea-997c60f758d6 --- Docs/src/history.but | 4 ++++ Source/script.cpp | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/Docs/src/history.but b/Docs/src/history.but index 722220ac..47c49440 100644 --- a/Docs/src/history.but +++ b/Docs/src/history.but @@ -6,6 +6,10 @@ Released on ? \S1{v3.0a2-cl} Changelog +\S2{} Major Changes + +\b !include defaults to UTF-8 after \cw{Unicode True} + \S2{} Minor Changes \b FileRead in Unicode installers can handle DBCS, conversion output is limited to UCS-2. diff --git a/Source/script.cpp b/Source/script.cpp index d153f2cb..1aba0adc 100644 --- a/Source/script.cpp +++ b/Source/script.cpp @@ -877,6 +877,12 @@ int CEXEBuild::includeScript(const TCHAR *f, NStreamEncoding&enc) { NIStream incstrm; const bool openok = incstrm.OpenFileForReading(f,enc); + if ( // !include defaults to UTF-8 after "Unicode true" + NStreamEncoding::AUTO == enc.GetCodepage() && build_unicode && + enc.GetPlatformDefaultCodepage() == incstrm.StreamEncoding().GetCodepage() + ) incstrm.StreamEncoding().SetCodepage(NStreamEncoding::UTF8); + enc = incstrm.StreamEncoding(); + TCHAR bufcpdisp[20]; incstrm.StreamEncoding().GetCPDisplayName(bufcpdisp); SCRIPT_MSG(_T("!include: \"%s\" (%s)\n"),f,bufcpdisp);