<div>Нашел частичное решение:</div><div>$dbh->{odbc_utf8_on} = 1;</div><div><br></div><div>Но почему-то работает не для всех полей...</div><div>Почему - не понятно.</div><div>К примеру выборка вроде такой:</div><div><div>
SELECT </div><div>          t0.DocNum,</div><div>          (CASE WHEN t1.CardFName IS NULL THEN t0.CardName ELSE t1.CardFName END) AS CardName,</div><div>          .....</div><div>          t0.DocCur</div><div>    FROM dbo.OINV t0 </div>
</div><div>....</div><div><br></div><div>выдает поле CardName - нормально, а DocCur - крякозябра.</div><div>При этом типы полей одинаковые nvarchar, только длины разные ( 15 и 3)</div><div><br></div><div>и запросы типа:</div>
<div>...</div><div>CASE WHEN var=300 THEN N'такое-то'</div><div>...</div><div>возвращает криво (значения от THEN) ...</div><div><br></div><div>Вот такой DSN не проходит:</div><div>$DSN = 'Sybase:server=192.168.0.1;database=MYDATABASE;packetSize<br>
=8192;language=us_english;charset=iso_1';</div><div><br></div><div>у меня DSN построен так (в конфиге)</div><div> dsn => 'dbi:ODBC:MSSQL7',</div><div>в скрипте</div><div>my $dbh = DBI->connect("$cfg->{db}{dsn}", $cfg->{db}{uid},$cfg->{db}{pwd}, { PrintError=>1, RaiseError => 1}) or die "$DBI::errstr\n";</div>
<div><br></div><div>MSSQL7 - имя odbc-коннекта из odbc.ini</div><div><br></div><div>чарсет в именно DSN не получается впихнуть (да и он указан в ini вроде бы).</div><div><br></div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Приветствую !</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">По своему опыту использования подобного подключения, был</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">существенный минус: не работает с  бинарными полями ( по крайней мере</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">8 лет назад).</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">кодировку можно указать в DSN, но использовалась следующая:</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">  $DSN = 'Sybase:server=192.168.0.1;</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">database=MYDATABASE;packetSize</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">=8192;language=us_english;</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">charset=iso_1';</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">размер ответов по умолчанию мал:</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">      $dbh->{LongReadLen} = 5000000;</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">ответ $DBI::errstr в кодировке windows-1251 (для русской версии), поэтому:</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">      encodeToUTF8( 'windows-1251',  $DBI::errstr );</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">приходилось по  делать:</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">  decode( 'utf8', $str ) unless utf8::is_utf8($str)</span><div class="yj6qo ajU" style="outline:none;padding:10px 0px;width:22px;margin:2px 0px 0px;color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<div id=":34" class="ajR" tabindex="0" style="background-color:rgb(241,241,241);border:1px solid rgb(221,221,221);clear:both;line-height:6px;outline:none;width:20px"><img class="ajT" src="https://mail.google.com/mail/ca/u/1/images/cleardot.gif" style="background-image: url(https://ssl.gstatic.com/ui/v1/icons/mail/ellipsis.png); height: 8px; opacity: 0.3; width: 20px; background-position: initial initial; background-repeat: no-repeat no-repeat;"></div>
<div><br></div></div></blockquote></div>