从 sybase 到 php 的乱码数据

Garbled Data from sybase to php

我正在尝试使用 Symfony2 和 php 5.6 从 Sybase ASE 数据库中获取 Binary(12) 值,我已经阅读了文档并尝试了很多方法,但仍然无法正常工作.

我努力让连接正常工作,它现在可以使用 FreeTDS,但是当我使用 php 进行简单的 select 查询时,我得到一个乱码字符串 ÿÿÿÿ????X(我'我希望得到像 ffffffff000000000001587f) 这样的十六进制数,尽管当我使用 isql 进行相同的查询时,我得到了正确的输出。

我不确定问题是否来自数据库和 PHP 之间的不同编码,因为 PHP 和 TSQL 都使用具有 UTF-8 编码的 TDS 协议。

我在项目中用来获取数据的代码:

    $em = $this->get('doctrine')->getManager('qualif');
    $connection = $em->getConnection();
    $statement = $connection->prepare("select max(account_oidval) from ACCOUNT");
    $statement->execute();
    $results = $statement->fetchColumn();

我尝试用它来转换编码,但仍然无法获得正确的格式

    $resultInUTF8 = mb_convert_encoding($results,"UTF-8","ISO-8859-1");

试试这个:

"select bintostr(max(...)) ....".