Get the local charset of a system (Views: 29)
Problem/Question/Abstract: How to get the local charset of a system Answer: function TranslateCharsetInfoEx(lpSrc: PDWORD; var lpCs: TCharsetInfo; dwFlags: DWORD): BOOL; stdcall; external 'gdi32.dll' name 'TranslateCharsetInfo'; procedure SetLocaleCharset; var LCID, CP: Cardinal; Buf: array[0..6] of Char; CSI: TCharsetInfo; begin LCID := GetThreadLocale; GetLocaleInfo(LCID, LOCALE_IDefaultAnsiCodePage, Buf, 6); CP := StrToIntDef(Buf, GetACP); TranslateCharsetInfoEx(Pointer(CP), CSI, TCI_SRCCODEPAGE); LocaleCharSet := CSI.ciCharset; end; |