From 5f53fe15b980a1189d618b51766d9172821c8b24 Mon Sep 17 00:00:00 2001 From: sekelsenmat Date: Tue, 25 Oct 2011 07:39:48 +0000 Subject: [PATCH] Implements GetConsoleTextEncoding for Windows git-svn-id: trunk@33079 - --- components/lazutils/lconvencoding.pas | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/components/lazutils/lconvencoding.pas b/components/lazutils/lconvencoding.pas index 4215b6383f..6da198f1b4 100644 --- a/components/lazutils/lconvencoding.pas +++ b/components/lazutils/lconvencoding.pas @@ -137,7 +137,9 @@ var EncodingValid: boolean = false; {$include asiancodepagefunctions.inc} {$IFDEF Windows} -function GetWindowsEncoding: string; +// AConsole - If false, it is the general system encoding, +// if true, it is the console encoding +function GetWindowsEncoding(AConsole: Boolean = False): string; var cp : UINT; {$IFDEF WinCE} @@ -146,7 +148,9 @@ const CP_UTF8 = 65001; {$ENDIF} begin - cp := GetACP; + if AConsole then cp := GetOEMCP + else cp := GetACP; + case cp of CP_UTF8: Result := EncodingUTF8; else @@ -204,8 +208,8 @@ end; function GetConsoleTextEncoding: string; begin {$ifdef Windows} - // ToDo - Result := GetDefaultTextEncoding; + Result:=GetWindowsEncoding(True); + Result:=NormalizeEncoding(Result); {$else} Result := GetDefaultTextEncoding; {$endif}