===[ Программизм ]=== #post-id: 6382-00-01 #original-date: 15.01.2018 Mon #original-time: 12:01 AM #original-day: 6382 #original-host: WinXP Home SP3 (Build 2600) Нас спрашивают, как получить дефолтные кодировки в виде «windows-1251». Я предлагаю такой вариант. > '==================================================================== > Public Function GetCharsetANSI() > GetCharsetANSI = GetCharset("windows-1251", "ACP") > End Function > > Public Function GetCharsetOEM() > GetCharsetOEM = GetCharset("cp866", "OEMCP") > End Function > > 'Public Function GetCharsetMAC() > ' GetCharsetMAC = GetCharset("mac", "MACCP") > 'End Function > > '==================================================================== > Private Function GetCharset(ByVal DefaultValue, _ > ByVal CodePageKeyName) > Dim WShell > Dim CodePage > Dim Charset > > GetCharset = DefaultValue > Set WShell = CreateObject("WScript.Shell") > > On Error Resume Next > > CodePage = WShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\" & CodePageKeyName) > If Err.Number <> 0 Or CodePage = "" Then Exit Function > > CodePage = Trim(CodePage) > 'MsgBox CodePage > > Charset = WShell.RegRead("HKEY_CLASSES_ROOT\Mime\Database\Codepage\" & Charset & "\WebCharset") > If Err.Number <> 0 Or CodePage = "" Then > Charset = WShell.RegRead("HKEY_CLASSES_ROOT\Mime\Database\Codepage\" & Charset & "\BodyCharset") > If Err.Number <> 0 Or CodePage = "" Then Exit Function > End If > > Charset = Trim(Charset) > 'MsgBox Charset > > GetCharset = Charset > End Function С маковской кодировкой не всё понятно. Кодовая страница есть, но в MIME разделе кодировки соответствующей нет. И я не помню, как она называлась по-научному, чтобы прописать дефолтное значение. Да, в Windows есть такая кодировка, только не знаю зачем. Должно быть, для совместимости чего-то с чем-то. Вот выдержка из описания функции GetCPInfo(): > CP_ACP – Use the system default ANSI code page > CP_MACCP – Use the system default Macintosh code page > CP_OEMCP – Use the system default OEM code page #music: a - Yasuharu Takanashi, Yaiba - [NARUTO SHIPPUUDEN Original Soundtrack II] Hyouhaku