<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5070</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5070&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?».]]></description>
		<lastBuildDate>Sat, 27 Nov 2010 21:48:16 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42281#p42281</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Да-да, я тоже возмущен! И почему никто на этом форуме (несомненно являющемся негласным отделением Microsoft)</p></blockquote></div><p>почему &quot;тоже&quot; и почему сразу &quot;является отделением MS&quot; - ветка же по VBS, что не логичного в посте здесь?&nbsp; я вовсе не возмущен. за ответ спасибо.</p><p>off &gt; зы. а что у вас с кэп&#039;ом связано, просто непонятно выражаетесь как-то ?</p>]]></description>
			<author><![CDATA[null@example.com (kefi)]]></author>
			<pubDate>Sat, 27 Nov 2010 21:48:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42281#p42281</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42268#p42268</link>
			<description><![CDATA[<p>[Лирическая страничка маньяка-исследователя]</p><div class="quotebox"><cite>kefi пишет:</cite><blockquote><p>ну не светлеет ,<br />вот нельзя ли ответить на простые конкретные вопросы, по моему примеру см выше для utf-7 и utf-8?<br />- utf-7 и utf-8 получаются наборы имволов , или все же кодовыве страницы ?<br />- а 1200 - это что тогда ?<br />- а InternetEncoding=65000,&nbsp; InternetEncoding=65001 - это что ?</p></blockquote></div><p>Да-да, я тоже возмущен! И почему никто на этом форуме (несомненно являющемся негласным отделением Microsoft) не берется ответить на такие простые вопросы как, например:<br />- за что отвечает вот этот вот конкретный ключ в реестре?<br />- почему это в ветке кодовых наборов находятся названия стандартов кодирования, а в разделе кодовых страниц - какие-то циферки?! Ведь это же совершенно непонятно и нелогично!<br /><img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /><br />(И под влиянием нездоровых эмоций бросаюсь на амбразуру отвечать на дурацкие вопросы со всей серьезностью. <img src="//forum.script-coding.com/img/smilies/mad.png" width="15" height="15" />)</p><p>Еще раз, другими словами: &quot;Это реестр, детка&quot;. MS не обязаны сообщать в деталях о внутренностях своей ОС. А все что они-таки сочли нужным сообщить, можно узнать используя магическое сочетание STFW. Или проводить собственные исследования.</p><p>Часто логика и назначение значений известна лишь разработчикам. Соответственно, utf-7 и utf-8 <span class="bbu">в реестре</span> это такие подключи (привет от <a href="http://lurkmore.ru/%D0%9A%D0%B0%D0%BF%D0%B8%D1%82%D0%B0%D0%BD_%D0%9E%D1%87%D0%B5%D0%B2%D0%B8%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D1%8C">кэпа</a>). А <span class="bbu">в мире</span> это ни наборы символов, ни кодовые страницы, а подвиды unicode, у которого кодовых страниц нет в принципе, ну или, если так можно выразиться, есть одна единственная, но не суть... Может не стоит искать логику там, где ее может и не быть?</p><p>Капитан Очевидность также сообщает, что InternetEncoding - это идентификатор метода определения кодировки интернет-контента, а судя по наличию его в ключах типа charset\_autodetect, сей метод вероятно завязан на логику некоего конкретного приложения (а не браузер IE ли это, предположит внимательный читатель), что ставит под сомнение целесообразность использования данного идентификатора для определения характеристик какой либо из локалей ОС.</p><p>Чего еще не ответил?.. Ах, да! 1200 - думаю, это просто такое красивое круглое число. Вот! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> По <a href="http://msdn.microsoft.com/en-us/library/aa378923%28VS.85%29.aspx">мнению MS</a> оно как-то связано с unicode, а по мнению <a href="http://starcat.dp.ua/doc/wdh/charsets.htm">Руслана Петренко</a> из Украины, оно связано с IE, который уже в свою очередь связан с MS, которые, как мы уже знаем, известно что думают. Как ни странно, я склоняюсь ко мнению последнего, не пренебрегая впрочем мнением первых. А с учетом того, что это число также связано с InternetEncoding, для нас оно интереса скорей всего не представляет.</p><p>Все не так уж важно (с) Мумий Тролль о значении внутренних значений реестра Windows, предположительно. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>[/Лирическая страничка маньяка-исследователя]</p><p><strong>alexii</strong> упоминал про функции WinAPI32, но не сообщил о возвращаемых значениях. Для полноты картины восполняю пробел примером на jscript с использованием <a href="http://www.script-coding.com/dynwrapx.html">DynamicWrapperX</a></p><div class="codebox"><pre><code>var DX = new ActiveXObject(&quot;DynamicWrapperX&quot;);
DX.Register(&quot;Kernel32.dll&quot;, &quot;GetACP&quot;, &quot;r=u&quot;);
WScript.Echo(DX.GetACP()); //возвращает 1251
//UINT GetOEMCP(void);
DX.Register(&quot;Kernel32.dll&quot;, &quot;GetOEMCP&quot;, &quot;r=u&quot;);
WScript.Echo(DX.GetOEMCP()); //возвращает 866</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (jite)]]></author>
			<pubDate>Sat, 27 Nov 2010 17:57:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42268#p42268</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42265#p42265</link>
			<description><![CDATA[<p><strong>2 jite &gt; </strong> ну не светлеет ,<br />вот нельзя ли ответить на простые конкретные вопросы, по моему примеру <a href="http://forum.script-coding.com/viewtopic.php?pid=42253#p42253">см выше для utf-7 и utf-8</a> ?<br />- utf-7 и utf-8 получаются наборы имволов , или все же кодовыве страницы ?<br />- а 1200 - это что тогда ?<br />- а InternetEncoding=65000,&nbsp; InternetEncoding=65001 - это что ?</p><p> (ЗЫ. Здесь вообще пишут http://msdn.microsoft.com/ru-ru/library/2x8et5ee.aspx: A code page is a character set&nbsp; Ну т.е. как Вы говорите грань отсутствует)</p>]]></description>
			<author><![CDATA[null@example.com (kefi)]]></author>
			<pubDate>Sat, 27 Nov 2010 12:47:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42265#p42265</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42264#p42264</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Основы читаны уже давно и не раз и про локаль и про кодепэйдж и про кодовый набор, но при всем при том я не могу врубиться в различия между codepage и кодовым набором(charset), и , если они зависят от locale, то, конечно, хочется понять и эту зависимость.</p></blockquote></div><p>Что-то видимо не там читали, раз непонятно. Вот, например, в статье <a href="http://msdn.microsoft.com/ru-ru/library/8w60z792.aspx">Языковые стандарты и кодовые страницы</a> все ясно английским/русским языком написано (рекомендую зайти в Предпочтения сверху-справа и выбрать классический стиль отображения, чтобы видеть en/ru). <br />Таким образом, <strong>набор символов (charset)</strong> это <em>просто набор буковок</em> безотносительно языка и кодов (ABCD...), <strong>кодовая страница (code page)</strong> - <em>сопоставление</em> некоторых буковок с некоторыми кодами (Я-239, ...), а <strong>языковой стандарт или локаль (locale)</strong> - это <em>сочетание</em> языка, кодовой страницы и местных настроек сортировки, представления даты-времени, валют и пр.</p><p>С другой стороны, грань между charset и codepage &quot;вдали от теории&quot;, в дебрях документации вечно спешащих разработчиков - она там часто просто отсутствует. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (jite)]]></author>
			<pubDate>Sat, 27 Nov 2010 12:21:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42264#p42264</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42260#p42260</link>
			<description><![CDATA[<p><strong>2 jite&gt; </strong> <br />Основы читаны уже давно и не раз и про локаль и про кодепэйдж и про кодовый набор, но при всем при том я не могу врубиться в различия между codepage и кодовым набором(charset), и , если они зависят от locale, то, конечно, хочется понять и эту зависимость. <br />Простыми, но ясными словами можно это объяснить с примером ?<br />Потому как в голове пока создалось такое представление, что :<br />1 ) кодовый набор и кодовая страница - это одно и тоже (если кто может, пусть пример приведет обратного) и <br />2 ) локаль есть независимая от первых двух величина.</p>]]></description>
			<author><![CDATA[null@example.com (kefi)]]></author>
			<pubDate>Sat, 27 Nov 2010 11:09:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42260#p42260</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42256#p42256</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>так где тут кодовая страница? Может кто-ни распутаться с этими тремя соснами ?</p></blockquote></div><p>Исключительно, чтобы окончательно все запутать - <a href="http://forum.ixbt.com/topic.cgi?id=22:72270#13">&quot;тысячи их&quot;</a>. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> <br />Там же выше упоминается ключик HKEY_CURRENT_USER\Control Panel\International\Locale (=&quot;00000409&quot; -&gt; 16-чное 0x409 = 10-чное 1049), изменение значения которого в реестре мгновенно отзывается на результате GetLocale. Но, повторяюсь, это путь великого реестрового запутывания.</p><p>А вот чтобы разобраться, начинаем <a href="http://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C">с основ</a>, смотрим стандарты, а также читаем <a href="http://msdn.microsoft.com/en-us/goglobal/bb688174.aspx">мнение MS</a> по этому поводу.</p>]]></description>
			<author><![CDATA[null@example.com (jite)]]></author>
			<pubDate>Sat, 27 Nov 2010 06:55:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42256#p42256</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42253#p42253</link>
			<description><![CDATA[<p>Хотелось бы до кучи, чтобы кто-нибудь толково разъяснил отличие кодового набора от кодовой страницы.</p><p>Вот в реестре Windows, как выше говорилось, есть три&nbsp; ветки :</p><p>HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage\<br />HKCR\Mime\Database\Charset\<br />HKCR\Mime\Database\Codepage\</p><p>первая дает вроде как кодовые страницы - числа, куча чисел ( ACP = 1251, OEMACP = 866 у меня ).<br />вторая - названия кодовых наборов (charset) или их алиасов . В этой ветке для кодовых наборов также указана кодовая страница codepage и InternetEncoding (InternetEncoding - что это?).<br />третья&nbsp; - вот что дает, не понимаю. </p><p>Вот , Скажем, во второй ветке для charset :&nbsp; <br /> utf-7 - InternetEncoding=65000,&nbsp; utf-8 -&gt; InternetEncoding=65001, а codepage у них один - 1200. <br />Кроме того, для ключей 65000 и 65001 в третьей вышеописанной ветке реестра есть параметр Family , который = 1200 для обоих.</p><p>так где тут кодовая страница? Может кто-ни распутаться с этими тремя соснами ?</p>]]></description>
			<author><![CDATA[null@example.com (kefi)]]></author>
			<pubDate>Fri, 26 Nov 2010 20:45:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42253#p42253</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40957#p40957</link>
			<description><![CDATA[<div class="quotebox"><cite>kefi пишет:</cite><blockquote><p>PS. Кстати, - зачем заботиться от убивстве объектов в конце - ведь VBS сам это делает при выходе из процедуры ?</p></blockquote></div><p>Сила привычки, оставшаяся от C. В основном, предпочитаю заботиться об этом сам. Отчасти ещё и потому, что любой код может стать частью какого-либо другого, более объёмного кода.<br /></p><div class="quotebox"><cite>kefi пишет:</cite><blockquote><p>так и уменя(пол секунды), но на глаз это заметно,</p></blockquote></div><p>OFF: Завидую Вашим глазам <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 27 Oct 2010 16:38:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40957#p40957</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40956#p40956</link>
			<description><![CDATA[<p>2 alexii &gt; ну да - так и уменя(пол секунды), но на глаз это заметно, при отладке даже нервирует, поэтому и пришлось малость корректировать Ваш вариант , получилось, если точнее, - первый запуск в цикле&nbsp; 0,3 сек, остальные по 0,1 сек.</p>]]></description>
			<author><![CDATA[null@example.com (kefi)]]></author>
			<pubDate>Wed, 27 Oct 2010 16:28:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40956#p40956</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40952#p40952</link>
			<description><![CDATA[<div class="quotebox"><cite>kefi пишет:</cite><blockquote><p>Я секунды не считал, наверно, - тоже как-то так, но на глаз это заметно</p></blockquote></div><p>Незачем считать. Достаточно добавить:<br /></p><div class="codebox"><pre><code>WScript.Echo Timer</code></pre></div><p>до и после, затем сравнить. Запустил на машине с давно установленной и весьма потрудившейся ОС:<br /></p><div class="codebox"><pre><code>67252.17
OEMCP: 866
Charset: ibm866
67252.45</code></pre></div><p>Чему там тормозить-то? У Вас случайно KAV/KIS не стоит?!<br /></p><div class="quotebox"><cite>kefi пишет:</cite><blockquote><p>а если в цикле, - тогда вобще...</p></blockquote></div><p>В каком цикле? В таком?<br /></p><div class="codebox"><pre><code>Option Explicit

Dim elem

WScript.Echo Timer

WScript.Echo GetCharsetNameOnNlsCP(Array(&quot;OEMCP&quot;, &quot;ACP&quot;))

WScript.Echo Timer

WScript.Quit 0

Function GetCharsetNameOnNlsCP(arrCodePages)
    Const HKEY_CLASSES_ROOT  = &amp;H80000000
    Const HKEY_LOCAL_MACHINE = &amp;H80000002
    
    Dim objSWbemServicesEx
    Dim objSWbemObjectEx
    
    Dim arrSubKeys
    Dim elem, elem2
    Dim strValue, lngValue
    Dim strOut
    
    Set objSWbemServicesEx = GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\.\root\default&quot;)
    Set objSWbemObjectEx = objSWbemServicesEx.Get(&quot;StdRegProv&quot;)
    
    strOut = &quot;&quot;
    
    For Each elem In arrCodePages
        If objSWbemObjectEx.GetStringValue(HKEY_LOCAL_MACHINE, &quot;SYSTEM\CurrentControlSet\Control\Nls\CodePage&quot;, elem, strValue) = 0 Then
            &#039;WScript.Echo elem, strValue
            
            If objSWbemObjectEx.EnumKey(HKEY_CLASSES_ROOT, &quot;MIME\Database\Charset&quot;, arrSubKeys) = 0 Then
                For Each elem2 In arrSubKeys
                    If objSWbemObjectEx.GetDWORDValue(HKEY_CLASSES_ROOT, &quot;MIME\Database\Charset\&quot; &amp; elem2, &quot;InternetEncoding&quot;, lngValue) = 0 Then
                        If CStr(lngValue) = strValue Then
                            &#039;WScript.Echo &quot;Charset:&quot;, elem2
                            strOut = strOut &amp; elem2 &amp; vbCrLf
                        End If
                    End If
                Next
            End If
        End If
    Next
    
    Set objSWbemObjectEx   = Nothing
    Set objSWbemServicesEx = Nothing
    
    GetCharsetNameOnNlsCP = strOut
End Function</code></pre></div><p>Опять-таки, не вижу тормозов:<br /></p><div class="quotebox"><blockquote><div class="codebox"><pre><code>73044.2
ibm866
windows-1251

73044.75</code></pre></div></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 27 Oct 2010 16:14:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40952#p40952</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40944#p40944</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>У меня сие занимает не более полусекунды. Реестр, правда, на свежеустановленной ОС пока практически пустой:</p></blockquote></div><p>Я секунды не считал, наверно, - тоже как-то так, но на глаз это заметно, а если в цикле, - тогда вобще...<br />Вот ,как оказалось, если Ваш вариант преобразолвать как-то так, то гораздо скорее получается (раз в 10 скорее, а может больше):<br /></p><div class="codebox"><pre><code>Public Function GetCharsetNameOnNlsCP(CP)
Const HKEY_CLASSES_ROOT = &amp;H80000000, HKEY_LOCAL_MACHINE = &amp;H80000002
Dim objSWbemServicesEx, objSWbemObjectEx, arrSubKeys, elem, strValue, lngValue, i, sh
Set sh = CreateObject(&quot;WScript.Shell&quot;)
GetCharsetNameOnNlsCP = &quot;&quot;
If CP = &quot;&quot; Then CP = &quot;ACP&quot;
CP = Split(CP, &quot;,&quot;)

Set objSWbemServicesEx = GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\.\root\default&quot;)
Set objSWbemObjectEx = objSWbemServicesEx.get(&quot;StdRegProv&quot;)

With objSWbemObjectEx
If .EnumKey(HKEY_CLASSES_ROOT, &quot;MIME\Database\Charset&quot;, arrSubKeys) = 0 Then
 For i = 0 To UBound(CP)
 If .GetStringValue(HKEY_LOCAL_MACHINE, &quot;SYSTEM\CurrentControlSet\Control\Nls\CodePage&quot;, CP(i), strValue) = 0 Then &#039;OEMCP ACP
   On Error Resume Next
   For Each elem In arrSubKeys
    &#039;If .GetDWORDValue(HKEY_CLASSES_ROOT, &quot;MIME\Database\Charset\&quot; &amp; elem, &quot;InternetEncoding&quot;, lngValue) = 0 Then &#039; Ниже побыстрее будет
    lngValue = sh.RegRead(&quot;HKCR\Mime\Database\Charset\&quot; &amp; elem &amp; &quot;\InternetEncoding&quot;) &#039; м.б. - Не удается открыть для чтения раздел реестра
    If Err.Number = 0 Then
     If CStr(lngValue) = strValue Then
      If GetCharsetNameOnNlsCP &lt;&gt; &quot;&quot; Then elem = &quot;,&quot; &amp; elem
      GetCharsetNameOnNlsCP = GetCharsetNameOnNlsCP &amp; elem: Exit For
     End If
    End If
    Err.Clear
   Next
 End If
 Next
End If
End With

End Function &#039; GetCurrentCharsetName --&gt;&gt;</code></pre></div><p>PS. Кстати, - зачем заботиться от убивстве объектов в конце - ведь VBS сам это делает при выходе из процедуры ?</p>]]></description>
			<author><![CDATA[null@example.com (kefi)]]></author>
			<pubDate>Wed, 27 Oct 2010 13:07:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40944#p40944</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40828#p40828</link>
			<description><![CDATA[<div class="quotebox"><cite>kefi пишет:</cite><blockquote><p><strong>allexii</strong>…</p></blockquote></div><p>Лучше пользуйтесь цитированием <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.<br /></p><div class="quotebox"><cite>kefi пишет:</cite><blockquote><p>Вот только Касательно Вашего VBS примера получения кодировок - тормозно они работат , лучше б побыстрее - может, реестр шерстить как-то быстрее возможно ? .</p></blockquote></div><p>У меня сие занимает не более полусекунды. Реестр, правда, на свежеустановленной ОС пока практически пустой:<br /></p><div class="codebox"><pre><code>wmic.exe registry get CurrentSize</code></pre></div><div class="quotebox"><blockquote><div class="codebox"><pre><code>CurrentSize
4</code></pre></div></blockquote></div><p>И даже пока не фрагментированный (во всяком случае, «C:\WINDOWS\system32\config\system»), судя по «PageDefrag».</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 25 Oct 2010 17:45:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40828#p40828</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40824#p40824</link>
			<description><![CDATA[<p><strong>allexii&gt;</strong> <em>Или что-то ещё нужно? Потому как вопрос:<br />я так понимаю - все же GetLocale() (например, =1049 ) - нельзя использовать для нахождения требующегося ?<br />не понятен, </em> &gt;<br />Вопрос то возник исключительно благодаря провокации smaharbA во втором посте, я и подумал, что может Locale однозначно определяет кодировку Windows ...<br />Вот только Касательно Вашего VBS примера получения кодировок - тормозно они работат , лучше б побыстрее - может, реестр шерстить как-то быстрее возможно ? .</p>]]></description>
			<author><![CDATA[null@example.com (kefi)]]></author>
			<pubDate>Mon, 25 Oct 2010 11:47:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40824#p40824</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40820#p40820</link>
			<description><![CDATA[<p>Я попробовал слепить простой код с WinAPI GetACP(), GetOEMCP() и посмотреть, дёргают ли они реестр, но увы — не дёргают; очевидно сие происходит только при загрузке системы. Впрочем, описание функций GetCPInfo()/GetCPInfoEx() уж настолько явно выглядит как <a href="http://forum.script-coding.com/viewtopic.php?pid=40668#p40668">вышеозвученные параметры реестра</a>, что меня почти убедило:<br /></p><div class="quotebox"><cite>GetCPInfo пишет:</cite><blockquote><p>…<br /><strong>CodePage </strong><br />[in] Identifier for the code page for which to retrieve information. The application can specify the code page identifier for any installed or available code page, or one of the following predefined values. See <a href="http://msdn.microsoft.com/en-us/library/dd317756%28VS.85%29.aspx">Code Page Identifiers</a> for a list of identifiers for ANSI and other code pages.<br /><strong>Value</strong> : <strong>Meaning </strong><br /><em>CP_ACP</em> : Use the system default ANSI code page. <br /><em>CP_MACCP</em> : Windows NT/2000/XP: Use the system default Macintosh code page. <br /><em>CP_OEMCP</em> : Use the system default OEM code page. <br />…</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 25 Oct 2010 09:05:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40820#p40820</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Где в Windows взять имена текущей Windows и Dos кодировки ?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40818#p40818</link>
			<description><![CDATA[<p>«GetLocale()» возвращает установленную локаль, изначально берущуюся из:<br /></p><div class="codebox"><pre><code>HKEY_USERS\.DEFAULT\Control Panel\International\Locale</code></pre></div><p>(а, может, из HKCU), одно из:<br /></p><div class="codebox"><pre><code>HKEY_CLASSES_ROOT\MIME\Database\Rfc1766\</code></pre></div><p>не более того.</p><p>Кодировка же может быть в принципе любой. Где искать для локали по умолчанию:<br /></p><div class="codebox"><pre><code>HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP … OEMCP</code></pre></div><p>Вы уже упомянули в первом же посте темы. Я нашёл <em>относительное</em> подтверждение, что это правильный подход (только для скриптов, разумеется) в KB153449, KB199819, KB304614, KB867677. Переход от найденного значения «ACP»/«OEMCP» к «Charset» в посте <a href="http://forum.script-coding.com/viewtopic.php?pid=40716#p40716">#15</a>. Или что-то ещё нужно? Потому как вопрос:<br /></p><div class="quotebox"><blockquote><p>я так понимаю - все же GetLocale() (например, =1049 ) - нельзя использовать для нахождения требующегося ?</p></blockquote></div><p>не понятен, ибо, начиная перекодировку в «ADODB.Stream», нужно в любом случае заранее знать кодировку исходного текста.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 25 Oct 2010 08:27:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40818#p40818</guid>
		</item>
	</channel>
</rss>
