<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: Перекодировка текста из UTF-8]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8899</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8899&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Перекодировка текста из UTF-8».]]></description>
		<lastBuildDate>Fri, 15 Nov 2013 10:23:52 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77326#p77326</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Fri, 15 Nov 2013 10:23:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77326#p77326</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77276#p77276</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Thu, 14 Nov 2013 03:18:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77276#p77276</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77239#p77239</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (badik)]]></author>
			<pubDate>Wed, 13 Nov 2013 12:19:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77239#p77239</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77238#p77238</link>
			<description><![CDATA[<p>Открыл базу в хекс-редакторе, нашёл место, где много букв P, скопировал в AkelPad и там перекодировал. Эти буквы P — характерный признак UTF-8 открытой как 1251. Так что мой вариант функции должен по идее работать. Чтобы выяснить, почему не работает, мне и нужно увидеть, что у вас в переменной, которую вы передаёте функции.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Wed, 13 Nov 2013 12:09:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77238#p77238</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77237#p77237</link>
			<description><![CDATA[<p><strong>2 YMP</strong> А как ты его увидел русским ? - у меня его видно русским только в приложении разработчика, в IBExpert - тоже кракозябры <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Wed, 13 Nov 2013 11:50:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77237#p77237</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77236#p77236</link>
			<description><![CDATA[<p>По крайней мере в базе точно есть русский текст в UTF-8. Вопрос в том, в каком виде он попадает в переменную VBS. Содержимое переменной (до функции converter) хорошо бы сохранить в файл (юникодный) и здесь выложить.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Wed, 13 Nov 2013 11:39:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77236#p77236</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77235#p77235</link>
			<description><![CDATA[<p><strong>Евген</strong>, ещё раз перечитал начало темы, так и не понял, <strong>что</strong> именно надо перекодировать. Т.е. откуда берутся данные (строка), которые надо перевести на человеческий? Если Вы сохраняете кракозябры в файл, то как и образец файла. Если передаёте строку в скрипт иначе - как именно?</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Wed, 13 Nov 2013 11:30:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77235#p77235</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77234#p77234</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Wed, 13 Nov 2013 10:50:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77234#p77234</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77231#p77231</link>
			<description><![CDATA[<p><strong>Евген</strong>, если выводит как есть, то у Вас строка не юникодовая, а вполне себе ансишная. Тогда да, тогда надо символы парсить тем самым способом. Или попытаться передать в скрипт юникодовую строку как есть.</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Wed, 13 Nov 2013 09:48:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77231#p77231</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77230#p77230</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Wed, 13 Nov 2013 09:40:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77230#p77230</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77228#p77228</link>
			<description><![CDATA[<div class="quotebox"><cite>Serge Yolkin пишет:</cite><blockquote><p>А что, приведённая мной функция чем-то не устраивает?</p></blockquote></div><p>Дык она ничего не перекодирует, как есть, так и выводит, она ведь не смещает коды символов в зависимости от их значения, нужно ведь знать в каком диапазоне куда надо смещать...</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Wed, 13 Nov 2013 09:36:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77228#p77228</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77227#p77227</link>
			<description><![CDATA[<p>Э-э-э... Простыми русскими словами излагать алгоритм - долго и муторно, на Васик перевести не смогу (не дружу с VBS), лучше спросить автора...<br />&amp;&amp; и || прямого аналога на васике, вероятно, не имеют: это то же, что и And (в js - &amp;) или Or (|), но, если символов два, то второе условие не проверяется, если первое однозначно определило результат (false для &amp;, true для |).</p><p>Вообще там пересчитываются коды символов по диапазонам: для первых 127, для русских и т.д., поскольку соответствие порядков символов несколько кривоватое. Asc использует виндовый метод перекодирования через NLS таблицы, по крайней мере я так понял.</p><p>А что, приведённая мной функция чем-то не устраивает?</p>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Wed, 13 Nov 2013 09:20:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77227#p77227</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77226#p77226</link>
			<description><![CDATA[<p><strong>2 Serge Yolkin</strong><br />это я нонял, я не понял логические условия описанные в JS</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Wed, 13 Nov 2013 08:41:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77226#p77226</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77225#p77225</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Serge Yolkin)]]></author>
			<pubDate>Wed, 13 Nov 2013 08:35:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77225#p77225</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перекодировка текста из UTF-8]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=77224#p77224</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Wed, 13 Nov 2013 08:29:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=77224#p77224</guid>
		</item>
	</channel>
</rss>
