Use DfAllEnt.pkg External_Function GetOEMCP "GetOEMCP" kernel32.dll Returns Integer External_Function GetACP "GetACP" kernel32.dll Returns Integer #Replace LOCALE_IDEFAULTANSICODEPAGE |CI$1004 #Replace LOCALE_IDEFAULTCODEPAGE |CI$000b #Replace LOCALE_SYSTEM_DEFAULT |CI$0800 #Replace LOCALE_SLANGUAGE |CI$0002 #Replace LOCALE_SCOUNTRY |CI$0006 Procedure ShowSystemCodePage Desktop Integer oemCp ansiCp Move (GetACP()) to ansiCp Move (GetOEMCP()) to oemCp Showln "Ansi System Code Page: " ansiCp Showln "OEM System Code Page: " oemCp End_Procedure Procedure TestForConflictingCodePage Desktop String sData sSysAnsiCP sSysOemCP sUserAnsiCP sUserOemCP ZeroString 1024 to sData Showln "Current User Locale Info" Move (GetLocaleInfo(Locale_User_Default,LOCALE_SLANGUAGE,AddressOf(sData),1024)) to WindowIndex Showln "Language: " sData Move (GetLocaleInfo(Locale_User_Default,LOCALE_SCOUNTRY,AddressOf(sData),1024)) to WindowIndex Showln "Country: " sData Move (GetLocaleInfo(Locale_User_Default,LOCALE_IDEFAULTANSICODEPAGE,AddressOf(sData),1024)) to WindowIndex Showln "Ansi Code Page: " sData Move sData to sUserAnsiCP Move (GetLocaleInfo(Locale_User_Default,LOCALE_IDEFAULTCODEPAGE,AddressOf(sData),1024)) to WindowIndex Showln "OEM Code Page: " sData Move sData to sUserOemCP Showln Showln "System Default Locale Info" Move (GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SLANGUAGE,AddressOf(sData),1024)) to WindowIndex Showln "Language: " sData Move (GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SCOUNTRY,AddressOf(sData),1024)) to WindowIndex Showln "Country: " sData Move (GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_IDEFAULTANSICODEPAGE,AddressOf(sData),1024)) to WindowIndex Showln "Ansi Code Page: " sData Move sData to sSysAnsiCP Move (GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_IDEFAULTCODEPAGE,AddressOf(sData),1024)) to WindowIndex Showln "OEM Code Page: " sData Move sData to sSysOemCP If (sSysAnsiCP<>sUserAnsiCP or sSysOemCP<>sUserOemCP) Begin Move ("WARNING: The system and current user code page settings are in conflict."+Character(10)+; "This will likely result in problems with extended ascii characters, "+; "such as not being able to use all local language characters."+Character(10)+Character(10)+; "To fix this you must change the system locale to match your user settings for language and locale.") to sData Send Stop_Box sData "Conflicting code page settings" End Else Begin Send Info_Box "No conflicts found." End End_Procedure Send ShowSystemCodePage Showln Send TestForConflictingCodePage