System.Data.LocaleMapper.LocaleNameToAnsiCodePage C# (CSharp) Method

LocaleNameToAnsiCodePage() public static method

public static LocaleNameToAnsiCodePage ( string localeName ) : int
localeName string
return int
        public static int LocaleNameToAnsiCodePage(string localeName)
        {
            uint ansiCodePage;
            if (GetLocaleInfoEx(localeName, LOCALE_RETURN_NUMBER | LOCALE_IDEFAULTANSICODEPAGE, out ansiCodePage, sizeof(uint)) != 0)
            {
                return unchecked((int)ansiCodePage);
            }
            else
            {
                // GetLocaleInfoEx should not return any other errors if we have sufficient buffer space
                int win32Error = Marshal.GetLastWin32Error();
                Debug.Assert(win32Error == ERROR_INVALID_PARAMETER, $"Unknown error returned by {nameof(GetLocaleInfoEx)}: {win32Error}. LocaleName: {localeName}");

                throw new CultureNotFoundException(nameof(localeName), localeName, message: null);
            }
        }

Usage Example

Example #1
0
        private static Tuple <string, int, Encoding> GetDetailsInternal(int lcid)
        {
            string localeName   = LocaleMapper.LcidToLocaleNameInternal(lcid);
            int    ansiCodePage = LocaleMapper.LocaleNameToAnsiCodePage(localeName);

            return(Tuple.Create(localeName, ansiCodePage, Encoding.GetEncoding(ansiCodePage)));
        }