[Moscow.pm] FreeTDS, MSSQL и кодировка

Aliaksandr Zahatski zahatski на gmail.com
Вт Дек 18 01:50:52 PST 2012


Приветствую !

По своему опыту использования подобного подключения, был
существенный минус: не работает с  бинарными полями ( по крайней мере
8 лет назад).

кодировку можно указать в DSN, но использовалась следующая:
  $DSN = 'Sybase:server=192.168.0.1;database=MYDATABASE;packetSize
=8192;language=us_english;charset=iso_1';

размер ответов по умолчанию мал:
      $dbh->{LongReadLen} = 5000000;

ответ $DBI::errstr в кодировке windows-1251 (для русской версии), поэтому:
      encodeToUTF8( 'windows-1251',  $DBI::errstr );

приходилось по  делать:
  decode( 'utf8', $str ) unless utf8::is_utf8($str)

Может последний tips поможет избавиться от "крякозябр" ?


18 декабря 2012 г., 13:02 пользователь Павел Купцов
<pavel на kuptsov.info> написал:
> Здравствуйте,
> кто-нибудь работал с freetds для подключения к MSSQL?
> Интересует вопрос кодировки. У меня почему-то все что из базы  -
> крякозябрами...
>
> При этом в freetds.conf
>         port = 1433
>         tds version = 8.0
>         client charset = UTF-8
>
> в odbc.ini
>
> ClientCharset   = UTF-8
>
> Как указать еще кодировку?
> Может какой-то нюанс при подключении есть из скрипта?
> Спасибо.
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


Подробная информация о списке рассылки Moscow-pm