За последние 24 часа нас посетили 17309 программистов и 1282 робота. Сейчас ищут 1662 программиста ...

MSSQL+ODBC+Unicode

Тема в разделе "MSSQL", создана пользователем href, 28 май 2008.

  1. href

    href Активный пользователь

    С нами с:
    28 май 2008
    Сообщения:
    1
    Симпатии:
    0
    Спасите-помогите!! Второй день копаю — тщетно :oops:
    Нужен юникод. Поменял в базе тип поля с TEXT на NTEXT. Collation у базы Cyrillic_General_CI_AS.

    Коннектюсь к базе, считываю значение и вывожу его. Выводятся квадратики.
    Если меняю кодировку на Win-1251 — отображаются русские буквы и не отображаются юникод-символы ради которых всё затевалось.

    Если я после того как считал данные буду их преобразовывать iconv'ом или mb_convert_encoding() или ещё чем, как предлагают, — всё равно юникодность пропадёт.

    Как мне объяснить PHP, что не нужно ничего преобразовывать при считывании и что нужно работать с unicode'ом.

    <?
    header('Content-Type: text/html; charset=utf-8');
    ?>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <?
    $sql = odbc_connect("namedsn", "user", "password") or die('die message');
    $query = "select * from exercises where uid='870C3303-96B2-455A-975D-88C72643D3EB'";
    $result = odbc_exec($sql, $query);
    $arr = odbc_fetch_array($result);
    $content = $arr["content"];

    print($content);
    odbc_close($sql);
    ?>
    </body>
    </html>