<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Перекодировка текста из UTF-8]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8899&amp;type=atom" />
	<updated>2013-11-15T10:23:52Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8899</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77326#p77326" />
			<content type="html"><![CDATA[<p>Вообщем сделал запрос через FBExport<br /></p><div class="codebox"><pre><code>
FBExport.exe -F C:\VS2010\firebird\exporter.csv -Sc -H 192.168.104.210 -D C:\AKIS\Database\AKISDB.FDB -U sysdba -P masterkey  -Q &quot;select count(Q_QUEUES.QUE_NAME),Q_QUEUES.QUE_NAME from Q_FIFO , Q_QUEUES where Q_FIFO.FHI_GETTIME is null and Q_FIFO.FHI_QNR=Q_QUEUES.QUE_NR group by Q_QUEUES.QUE_NAME order by count(Q_QUEUES.QUE_NAME) DESC&quot;</code></pre></div><p>Он выдаёт данные в CSV файл, тот нормально перекодируется из UTF-8 в WIN1251, и уже разобрал тот файл и получил что надо...</p><p>КОСТЫЛИ-КОСТЫЛИКИ )))</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2013-11-15T10:23:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77326#p77326</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77276#p77276" />
			<content type="html"><![CDATA[<p>Коллеги, у кого есть возможность, можно Вас попросить, запустить на выполнение следующий код:<br /></p><div class="codebox"><pre><code>
Set cn = CreateObject (&quot;ADODB.Connection&quot;)
cn.Open &quot;Provider=LCPI.IBProvider.3;Data Source=C:\VS2010\firebird\AKIS_newDB\akisdb.fdb;User Id=SYSDBA;password=masterkey;Ctype=none;auto_commit=true&quot;
Set rs = cn.execute(&quot;select Q_MENU.MNU_NAME from Q_FIFO , Q_MENU where Q_FIFO.FHI_CLINR is null and Q_FIFO.FHI_QNR=Q_MENU.MNU_QNR&quot;)


do while not rs.EOF
       msgbox converter(rs.fields(0).Value)
rs.MoveNext
loop
rs.close
cn.close


function converter(strinput)
    adReadAll = -1
    adTypeText = 2
Set objStream = CreateObject(&quot;ADODB.Stream&quot;)    
    objStream.Open()
    objStream.Type = adTypeText
    objStream.Charset = &quot;windows-1251&quot;
    objStream.WriteText(strinput)
    objStream.Flush()
    objStream.Position = 0
    objStream.Charset = &quot;utf-8&quot;
    converter = objStream.ReadText(adReadAll)
    objStream.Close()
end function</code></pre></div><p>я получаю следующую ошибку<br /><span class="postimg"><img src="http://korosteleff.narod.ru/err.jpg" alt="http://korosteleff.narod.ru/err.jpg" /></span></p><p>Что ещё не так ? В чём грабли ?</p><p>25 строчка<br /></p><div class="quotebox"><blockquote><p>converter = objStream.ReadText(adReadAll)</p></blockquote></div><p><a href="https://drive.google.com/folderview?id=0B5diU4qycIfuODRESFJzeENVanM&amp;usp=sharing"> Ссылка на базу </a></p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2013-11-14T03:18:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77276#p77276</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77239#p77239" />
			<content type="html"><![CDATA[<p>Наверное был прав в своем сообщении&nbsp; YMP&nbsp; 13.11.13&nbsp; 11:22:11</p><div class="codebox"><pre><code>Set f=CreateObject(&quot;Scripting.FileSystemObject&quot;)
a= f.OpenTextFile(&quot;a&quot;,1).Readall()
Wscript.Echo(a)
Wscript.Echo(converter(a))
function converter(strinput)
    adReadAll = -1
    adTypeText = 2
Set objStream = CreateObject(&quot;ADODB.Stream&quot;)    
    objStream.Open()
    objStream.Type = adTypeText
    objStream.Charset = &quot;windows-1251&quot;
    objStream.WriteText(strinput)
    objStream.Flush()
    objStream.Position = 0
    objStream.Charset = &quot;utf-8&quot;
    converter = objStream.ReadText(adReadAll)
    objStream.Close()
end function</code></pre></div><p><em>примечание:</em>файл с форума выгружается коряво но 7zip его читает</p>]]></content>
			<author>
				<name><![CDATA[badik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=21834</uri>
			</author>
			<updated>2013-11-13T12:19:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77239#p77239</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77238#p77238" />
			<content type="html"><![CDATA[<p>Открыл базу в хекс-редакторе, нашёл место, где много букв P, скопировал в AkelPad и там перекодировал. Эти буквы P — характерный признак UTF-8 открытой как 1251. Так что мой вариант функции должен по идее работать. Чтобы выяснить, почему не работает, мне и нужно увидеть, что у вас в переменной, которую вы передаёте функции.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2013-11-13T12:09:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77238#p77238</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77237#p77237" />
			<content type="html"><![CDATA[<p><strong>2 YMP</strong> А как ты его увидел русским ? - у меня его видно русским только в приложении разработчика, в IBExpert - тоже кракозябры <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2013-11-13T11:50:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77237#p77237</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77236#p77236" />
			<content type="html"><![CDATA[<p>По крайней мере в базе точно есть русский текст в UTF-8. Вопрос в том, в каком виде он попадает в переменную VBS. Содержимое переменной (до функции converter) хорошо бы сохранить в файл (юникодный) и здесь выложить.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2013-11-13T11:39:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77236#p77236</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77235#p77235" />
			<content type="html"><![CDATA[<p><strong>Евген</strong>, ещё раз перечитал начало темы, так и не понял, <strong>что</strong> именно надо перекодировать. Т.е. откуда берутся данные (строка), которые надо перевести на человеческий? Если Вы сохраняете кракозябры в файл, то как и образец файла. Если передаёте строку в скрипт иначе - как именно?</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2013-11-13T11:30:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77235#p77235</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77234#p77234" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>BeS Yara пишет:</cite><blockquote><p>Если средствами СУБД/провайдера победить не получится, то для разборок с кодировкой лучше приложить файл с примером выводя запроса.</p></blockquote></div><p><a href="https://drive.google.com/folderview?id=0B5diU4qycIfuODRESFJzeENVanM&amp;usp=sharing">ссылка на базу</a><br />Спасибо большое, что всё ещё пытаетесь мне помочь )))</p><p>Firebird 2.1.5<br />Кодировка базы мне не известна и IBExpert её тоже не выдаёт <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />&nbsp; (по ходу дела - default)</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2013-11-13T10:50:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77234#p77234</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77231#p77231" />
			<content type="html"><![CDATA[<p><strong>Евген</strong>, если выводит как есть, то у Вас строка не юникодовая, а вполне себе ансишная. Тогда да, тогда надо символы парсить тем самым способом. Или попытаться передать в скрипт юникодовую строку как есть.</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2013-11-13T09:48:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77231#p77231</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77230#p77230" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Евген пишет:</cite><blockquote><p>и при charset и при ctype равном win1251 или ascii выдаёт одну и ту же ошибку</p><p>Не может перевести символы между кодировками <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p></blockquote></div><p>С этого момента уже сложнее - Firebird я поставил(на сколько же всё проще в MSSQL... или просто привык?), а вот проприетарный и не особо дешёвый провайдер ставить не хотелось бы. Хотя не исключено что ошибка именно его(провайдера). Надо будет попробовать ODBC для сравнения.</p><p>Хотелось бы уточнить ещё пару моментов:<br />1. версия СУБД<br />2. кодировка базы(UTF-8/UNICODE_FSS/WIN1251...)</p><p>Если средствами СУБД/провайдера победить не получится, то для разборок с кодировкой лучше приложить файл с примером выводя запроса.</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2013-11-13T09:40:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77230#p77230</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77228#p77228" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>А что, приведённая мной функция чем-то не устраивает?</p></blockquote></div><p>Дык она ничего не перекодирует, как есть, так и выводит, она ведь не смещает коды символов в зависимости от их значения, нужно ведь знать в каком диапазоне куда надо смещать...</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2013-11-13T09:36:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77228#p77228</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77227#p77227" />
			<content type="html"><![CDATA[<p>Э-э-э... Простыми русскими словами излагать алгоритм - долго и муторно, на Васик перевести не смогу (не дружу с VBS), лучше спросить автора...<br />&amp;&amp; и || прямого аналога на васике, вероятно, не имеют: это то же, что и And (в js - &amp;) или Or (|), но, если символов два, то второе условие не проверяется, если первое однозначно определило результат (false для &amp;, true для |).</p><p>Вообще там пересчитываются коды символов по диапазонам: для первых 127, для русских и т.д., поскольку соответствие порядков символов несколько кривоватое. Asc использует виндовый метод перекодирования через NLS таблицы, по крайней мере я так понял.</p><p>А что, приведённая мной функция чем-то не устраивает?</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2013-11-13T09:20:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77227#p77227</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77226#p77226" />
			<content type="html"><![CDATA[<p><strong>2 Serge Yolkin</strong><br />это я нонял, я не понял логические условия описанные в JS</p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2013-11-13T08:41:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77226#p77226</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77225#p77225" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Евген пишет:</cite><blockquote><p>Дык как бы не вопрос, тока расскажите алгоритм</p></blockquote></div><p>Да не нужен тот алгоритм на VBS, всё проще:</p><div class="codebox"><pre><code>Function FC(E)
  FC = &quot;&quot;
  For i = 1 to Len(E)
    FC = FC &amp; Chr(Asc(mid(E,i,1)))
  Next
End Function</code></pre></div><p>Это на js извращаться приходится, в нём Asc нету.</p>]]></content>
			<author>
				<name><![CDATA[Serge Yolkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27503</uri>
			</author>
			<updated>2013-11-13T08:35:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77225#p77225</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=77224#p77224" />
			<content type="html"><![CDATA[<p>и при charset и при ctype равном win1251 или ascii выдаёт одну и ту же ошибку<br /><span class="postimg"><img src="http://korosteleff.narod.ru/charset.jpg" alt="http://korosteleff.narod.ru/charset.jpg" /></span><br />Не может перевести символы между кодировками <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Евген]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25253</uri>
			</author>
			<updated>2013-11-13T08:29:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=77224#p77224</id>
		</entry>
</feed>
