从 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(...)) ....".
我正在尝试使用 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(...)) ....".