<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; WSH: Определение кодировки файла]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8491&amp;type=atom" />
	<updated>2014-07-22T19:42:09Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8491</id>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85007#p85007" />
			<content type="html"><![CDATA[<p>Присоединяюсь!<br />Там, в конце, перед 0432 надо ещё 043C добавить <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> (кодировку на глаз определил)</p><p>А на счёт участия, всё-таки я дилетант-самоучка. Потестить что-нибудь интересное - с удовольствием, но по возможности, а всерьёз - левел не тот.</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2014-07-22T19:42:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85007#p85007</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85006#p85006" />
			<content type="html"><![CDATA[<p><strong>Serge Yolkin</strong>, подсказываю. Из HEX-данных переводим в вдвоичные, далее определяем кодировку, после чего смотрим результат. Секретное сообщение как никак. Как ознакомитесь, предлагаю присоединиться <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2014-07-22T18:05:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85006#p85006</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84976#p84976" />
			<content type="html"><![CDATA[<p><strong>JSman</strong><br />А как?</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2014-07-21T22:07:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84976#p84976</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84975#p84975" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>14044004430436043804490435042C0020005B0062005D0058\<br />0061006D0065006C0065006F006E005B002F0062005D002E00\<br />20001F043E04370434044004300432043B044F044E042000420\<br />4350431044F0420004104200034043D0435043C04200040043\<br />E043604340435043D0438044F0421002000160435043B043004\<br />4E04200032044104350433043E042000410430043C043E0433\<br />043E0420003B04430447044804350433043E0421000D000A00\<br />0D000A0020001E0434043D043E043204400435043C0435043D0\<br />43D043E04200032044B0440043004360430044E0420003E0433\<br />0440043E043C043D0443044E04200031043B04300433043E043\<br />404300440043D043E04410442044C042000370430042000430\<br />44704300441044204380435042000320420003F0440043E0435\<br />043A04420435042000440440043504390432043E0440043A0430042100</p></blockquote></div><p><img src="//forum.script-coding.com/img/smilies/lol.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2014-07-21T19:53:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84975#p84975</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84937#p84937" />
			<content type="html"><![CDATA[<p><strong>JSman</strong><br />Да, экспериментировал и не обновлял страничку...</p><p>А в различия терминов не вникал: в тех программах, которыми я пользуюсь это называется &quot;Кодировка&quot; и Кириллица Windows там отличается от кириллицы DOS (так же, как от UTF). Возможно, это дилетантский подход.</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2014-07-20T20:26:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84937#p84937</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84936#p84936" />
			<content type="html"><![CDATA[<p><strong>Serge Yolkin</strong>, в коде Binary, ArrayToBinary, BinaryToArray и т.п. Все там есть.</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2014-07-20T20:19:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84936#p84936</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84935#p84935" />
			<content type="html"><![CDATA[<p><strong>JSman</strong><br />а маленький пример - как работать с тем, что возвращает поток SAPI из JS - мона? А то ранее опрбованные методы здесь не помогают...</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2014-07-20T20:10:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84935#p84935</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84934#p84934" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>А в чём радость? Все из 4+ годовалого топика тут высказались. А где панацея?</p></blockquote></div><p>Ну, я только сейчас довольно близко подошел к SAPI. Только недавно разобрался как работать с бинарными данными на комфортном уровне (в частности научился читать и создавать байтовые массивы).</p><p>Указанные ниже функции будут работать без ADODB.Stream и FSO:<br /></p><div class="quotebox"><blockquote><p>FileClose Closes a previously opened text file.<br />FileFlush Flushes the file&#039;s buffer to disk.<br />FileGetPos Retrieves the current file position.<br />FileOpen Opens a text file for reading or writing.<br />FileRead Read in a number of characters from a previously opened text file.<br />FileReadLine Read in a line of text from a previously opened text file.<br />FileSetPos Sets the current file position.<br />FileWrite Append a text/data to the end of a previously opened file.<br />FileWriteLine Append a line of text to the end of a previously opened text file.</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2014-07-20T19:02:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84934#p84934</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84933#p84933" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p><strong>serzh82saratov</strong><br />Не утверждаю, что этот случай Вам интересен, но чисто для примера: пишу .bat файл, кодировка, естественно, ASCII (OEM). Для оформления вывода использую псевдографику - целые строки из чёрточек и уголков. Так вот, эти символы не попадают в диапазон русских для ASCII, но попадают для ANSI. И что должен делать детектор кодировки? Угадать, что я псевдографику раз в сто лет использовал?</p></blockquote></div><p>Да все не так сложно. Надо каждой категории символов присваивать вес. Обратите внимание на изменения в коде. Там я как раз и использовал принцип весов. Вообще, так и отличают OEM, Win1251, KOI8-R. Но я думаю, это уже будет вопрос к функции CharsetDetect, а не EncodingDetect <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2014-07-20T18:48:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84933#p84933</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84932#p84932" />
			<content type="html"><![CDATA[<p>Что касается ASCII (OEM, Win1251 и т.д.). Думаю надо отличать понятия encoding и charset (или чушь говорю?). В указанном выше коде речь идет только о способе хранения данных, то есть о <strong>encoding</strong>.</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2014-07-20T18:33:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84932#p84932</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84930#p84930" />
			<content type="html"><![CDATA[<p>Проверяйте <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Код снизу читайте. Определение кодировок с BOM и без.<br /></p><div class="codebox"><pre><code>
var GlobalObject = this;
var FSO = fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);
var WshShell = new ActiveXObject(&quot;WScript.Shell&quot;);

Function.prototype.GetResource = function(ResourceName) {
    if (!this.Resources) {
        var UnNamedResourceIndex = 0,
            _this = this;
        this.Resources = {};

        function f(match, resType, Content) {
            _this.Resources[(resType == &quot;[[&quot;) ? UnNamedResourceIndex++:resType.slice(1, -1)] = Content;
        }
        this.toString().replace(/\/\*(\[(?:[^\[]+)?\[)((?:[\r\n]|.)*?)\]\]\*\//gi, f);
    }
    return this.Resources[ResourceName];
}

Array.prototype.forEach = function (action, that /*opt*/ ) {
    for (var i = 0, n = this.length; i &lt; n; i++)
    //if (i in this)
        action.call(that, this[i], i, this);
};

var VBSEngine = new ActiveXObject(&#039;ScriptControl&#039;);
VBSEngine.Language = &#039;VBScript&#039;;
VBSEngine.AddCode(Resourses.GetResource(&quot;vbs&quot;));

function Resourses() {
    /*[vbs[
Function [_MidB](v, s, l):[_MidB]=MidB(v, s+1, l):End Function
Function [_Asc](v):[_Asc]=Asc(v):End Function
Function [_Chr](v):[_Chr]=Chr(v):End Function
Function [_LenB](v):[_LenB]=LenB(v):End Function
Function [_VarType](v):[_VarType]=VarType(v):End Function
Function [_TypeName](v):[_TypeName]=TypeName(v):End Function
Function [_ChrB](v):[_ChrB]=ChrB(v):End Function
Function [_AscB](v):[_AscB]=AscB(v):End Function
Function [_LeftB](v, l):[_LeftB]=LeftB(v, l):End Function
Function [_RightB](v, l):[_RightB]=RightB(v, l):End Function
Function [_InstrB](start, stringtosearch, stringtofind, comparemode):[_InstrB]=InstrB(start, stringtosearch, stringtofind, comparemode):End Function

Sub ConvertBinaryToJSArray(arrByteArray, js_arr)
Dim i
For i = 1 To LenB(arrByteArray)
    js_arr.push(AscB(MidB(arrByteArray, i, 1)))
Next
End Sub

Function MultiByteToBinary(MultiByte)
  &#039; 2000 Antonin Foller, http://www.motobit.com
  &#039; MultiByteToBinary converts multibyte string To real binary data (VT_UI1 | VT_ARRAY)
  &#039; Using recordset
  Dim RS, LMultiByte, Binary
  Const adLongVarBinary = 205
  Set RS = CreateObject(&quot;ADODB.Recordset&quot;)
  LMultiByte = LenB(MultiByte)
  If LMultiByte&gt;0 Then
    RS.Fields.Append &quot;mBinary&quot;, adLongVarBinary, LMultiByte
    RS.Open
    RS.AddNew
      RS(&quot;mBinary&quot;).AppendChunk MultiByte &amp; ChrB(0)
    RS.Update
    Binary = RS(&quot;mBinary&quot;).GetChunk(LMultiByte)
  End If
  MultiByteToBinary = Binary
End Function

Function RSBinaryToString(xBinary)
&#039;1999 Antonin Foller, Motobit Software
&#039;This function converts binary data (VT_UI1 | VT_ARRAY or MultiByte string)
&#039;to string (BSTR) using ADO recordset
&#039;The fastest way - requires ADODB.Recordset
&#039;Use this function instead of MBBinaryToString if you have ADODB.Recordset installed
&#039;to eliminate problem with PureASP performance

Dim Binary
&#039;MultiByte data must be converted to VT_UI1 | VT_ARRAY first.
if vartype(xBinary) = 8 then Binary = MultiByteToBinary(xBinary) else Binary = xBinary

Dim RS, LBinary
Const adLongVarChar = 201
Set RS = CreateObject(&quot;ADODB.Recordset&quot;)
LBinary = LenB(Binary)

if LBinary&gt;0 then
RS.Fields.Append &quot;mBinary&quot;, adLongVarChar, LBinary
RS.Open
RS.AddNew
RS(&quot;mBinary&quot;).AppendChunk Binary
RS.Update
RSBinaryToString = RS(&quot;mBinary&quot;)
Else
RSBinaryToString = &quot;&quot;
End If
End Function
]]*/
}
WshShell.CurrentDirectory = GetScriptDir();;

function BinaryMid(s, l, c) {
    return VBSEngine.CodeObject._MidB(s, l, c);
}

function BinaryLen(s) {
    return VBSEngine.CodeObject._LenB(s);
}

function ArrayToBinary(ar) {
    var ms = new ActiveXObject(&quot;SAPI.spMemoryStream&quot;);
    for (var i = 0, l = ar.length; i &lt; l; i++) {
        ms.Write(ar[i]);
        ms.Seek(i + 1);
    }
    s = ms.GetData();
    var l = BinaryLen(s);
    s = BinaryMid(s, 0, l - 3)
    return MultiByteToBinary(s);
}

function Binary(s) {
    if (!s) s = 0;
    var value;
    var type = TypeOf(s);
    if (type == &quot;array&quot;) value = ArrayToBinary(s);
    if (type == &quot;bytearray&quot;) value = s;
    if (type == &quot;function&quot; || type == &quot;object&quot; || type == &quot;empty&quot;) return null;
    try {
        var ms = new ActiveXObject(&quot;SAPI.spMemoryStream&quot;);
        ms.SetData(s.valueOf());
        value = ms.GetData();
    } catch(e) {}
    if (arguments.callee != this.constructor) return value;
    this.value = value;
}

function MultiByteToBinary(x) {
    return VBSEngine.CodeObject.MultiByteToBinary(x);
}

function BinaryToHex(binary) {
    var xml = new ActiveXObject(&#039;Microsoft.XMLDOM&#039;).createElement(&#039;Binary&#039;);
    xml.dataType = &#039;bin.hex&#039;;
    xml.nodeTypedValue = binary;
    return xml.text.toUpperCase();
}

function HexToBinary(text)
{
    var xml = new ActiveXObject(&#039;Microsoft.XMLDOM&#039;).createElement(&#039;Binary&#039;);
    xml.dataType = &#039;bin.hex&#039;;
    xml.text = text;
    
    return xml.nodeTypedValue;
}

function StringToBinary(str, dstCharset) { ! dstCharset ? dstCharset = &quot;UTF-8&quot; : 0;
    var stream = new ActiveXObject(&quot;ADODB.Stream&quot;);
    stream.type = 2;
    stream.open();
    stream.charset = dstCharset;
    stream.writeText(str);
    stream.position = 0;
    stream.type = 1;
    var result = stream.read();
    stream.close();
    return result;
}

//BinaryToString Converts a binary variant into a string.
function BinaryToString(binary, destCharset) {
    !destCharset ? destCharset = &quot;UTF-8&quot; : 0;
    
    var stream = new ActiveXObject(&quot;ADODB.Stream&quot;);
    stream.type = 1;
    stream.open();
    stream.write(binary);
    stream.position = 0;
    stream.type = 2;
    stream.charset = destCharset;
    var result = stream.readText();
    stream.close();
    return result;
}

function Asc(str) {
    return VBSEngine.CodeObject._Asc(str);
}

function TypeOf(o) {
    var type = typeof o;
    if (type != &quot;object&quot; &amp;&amp; type != &quot;unknown&quot;) return type;
    if (o === null || o === undefined) return &quot;empty&quot;;
    if (Object.prototype.toString.call(o) === &#039;[object Array]&#039;) return &quot;array&quot;;
    if (Object.prototype.toString.call(o) === &#039;[object Number]&#039;) return &quot;number&quot;;
    if (Object.prototype.toString.call(o) === &#039;[object String]&#039;) return &quot;string&quot;;
    if (VBSEngine.CodeObject._VarType(o) == (8192 + 17)) return &quot;bytearray&quot;;
    return type;
}

function Exit() {
    if (this.WScript) WScript.Quit();
    if (this.window) window.close();
}

function MsgBox(strText, strTitle, nType) {
    return WshShell.Popup(strText, 0, strTitle, nType);
}

function GetScriptDir() {
    return GetScriptFullPath().replace(/[^\\]+$/g, &quot;&quot;);
}

function GetScriptFullPath() {
    if (this.location &amp;&amp; this.location.href) return location.href.replace(/^.+\/\/\//, &quot;&quot;).replace(/\//g, &quot;\\&quot;);
    if (this.WScript) return WScript.ScriptFullName;
    return &quot;&quot;;
}

function FileGetEncoding(path) {
    var f = FSO.OpenTextFile(WshShell.ExpandEnvironmentStrings(path), 1, 0, 0);
    var n = FSO.GetFile(path).Size;
    n = n &lt;= 60 ? n : 60;
    var val = MultiByteToBinary(f.Read(n));
    f.Close();
    return EncodingDetect(val);
}

function EncodingDetect(bin) {
    var head = BinaryToHex(bin);
    if (/^EFBBBF/.test(head)) return &quot;UTF-8&quot;;
    if (/^0000FEFF/.test(head)) return &quot;UTF-32BE&quot;;
    if (/^FFFE0000/.test(head)) return &quot;UTF-32LE&quot;;
    if (/^2B2F76(38|39|2B|2F)/.test(head)) return &quot;UTF-7&quot;;
    if (/^F7644C/.test(head)) return &quot;ISO-10646-UTF-1&quot;;
    if (/^DD736673/.test(head)) return &quot;UTF-EBCDIC&quot;;
    if (/^0EFEFF/.test(head)) return &quot;SCSU&quot;;
    if (/^FBEE28/.test(head)) return &quot;BOCU-1&quot;;
    if (/^84319533/.test(head)) return &quot;GB-18030&quot;;
    if (/^FEFF0000/.test(head)) return &quot;ISO-10646-UCS-4&quot;;
    if (/^0000FFFE/.test(head)) return &quot;ISO-10646-UCS-4&quot;;
    if (/^FEFF/.test(head)) return &quot;UTF-16BE&quot;;
    if (/^FFFE/.test(head)) return &quot;UTF-16LE&quot;;
    var o = {
        &quot;UTF-32&quot;: 0,
        &quot;UTF-16&quot;: 0,
        &quot;UTF-8&quot;: 0,
        &quot;ASCII&quot;: 0
    },
        re = /[-A-Za-z0-9А-Яа-я\?!=&lt;&gt;&quot;\\\/\s\r\n]/,
        max = 0,
        maxP = &quot;ASCII&quot;;

    function _tmp(p) {
        try {
            BinaryToString(bin, p).split(&quot;&quot;).forEach(function(s) {
                if (Asc(s) == 0) o[p] -= 0.1;
                if (re.test(s)) o[p]++
            });
            if (max &lt;= o[p]) {
                maxP = p;
                max = o[p]
            }
        } catch(e) {}
    }
    for (i in o) _tmp(i);
    
    //MsgBox([o[&quot;UTF-32&quot;], o[&quot;UTF-16&quot;], o[&quot;UTF-8&quot;], o[&quot;ASCII&quot;]]);
    return maxP;
}
//*
MsgBox(EncodingDetect(Binary(&quot;привет&quot;)));
MsgBox(EncodingDetect(StringToBinary(&quot;привет&quot;, &quot;UTF-8&quot;)));
MsgBox(EncodingDetect(StringToBinary(&quot;привет&quot;, &quot;ascii&quot;)));
MsgBox(EncodingDetect(Binary(&quot;hello&quot;)));
MsgBox(EncodingDetect(StringToBinary(&quot;hello&quot;, &quot;UTF-8&quot;)));
MsgBox(EncodingDetect(StringToBinary(&quot;hello&quot;, &quot;ascii&quot;)));

MsgBox(FileGetEncoding(&quot;12345.txt&quot;));
Exit();
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2014-07-20T18:20:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84930#p84930</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84929#p84929" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Не утверждаю, что этот случай Вам интересен, но чисто для примера: пишу .bat файл, кодировка, естественно, ASCII (OEM). Для оформления вывода использую псевдографику - целые строки из чёрточек и уголков. Так вот, эти символы не попадают в диапазон русских для ASCII, но попадают для ANSI. И что должен делать детектор кодировки? Угадать, что я псевдографику раз в сто лет использовал?</p><p>А на счёт SAPI - прошу прощения, это я <strong>JSman</strong>&#039;у писал. К кодировкам отношения не имеет.</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2014-07-20T17:41:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84929#p84929</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84928#p84928" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>предположения и допущения</p></blockquote></div><p>И как же существовать дальше? Как то ненаучно, или тут вывод: что в принципе этого не может быть, потому что быть не может.<br /></p><div class="quotebox"><blockquote><p>Опа! Самое смешное, что слово SAPI мне попадалось, но подумал: при чём здесь спич? У меня и звук, обычно, выключен... А оно вона как.</p></blockquote></div><p> А в чём радость? Все из 4+ годовалого топика тут высказались. А где панацея?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-07-20T17:31:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84928#p84928</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84927#p84927" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />В общем случае - никаких гарантий. В каждом конкретном - можно сделать какие-то предположения и допущения, тогда проще.</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2014-07-20T17:25:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84927#p84927</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: Определение кодировки файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84926#p84926" />
			<content type="html"><![CDATA[<p>Опа! Самое смешное, что слово SAPI мне попадалось, но подумал: при чём здесь спич? У меня и звук, обычно, выключен... А оно <a href="http://forum.script-coding.com/viewtopic.php?id=4284">вона как</a>.</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2014-07-20T17:22:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84926#p84926</id>
		</entry>
</feed>
