2016-02-26 25 views
1

我想用Symfony2和php 5.6从Sybase ASE数据库得到一个Binary(12)的值,我已经阅读了文档并尝试了很多方法,但仍然无法实现这个工作。我现在使用FreeTDS,但是当我用php做一个简单的选择查询时,我得到一个乱码字符串ÿÿÿÿ????X(我期待得到一个像ffffffff000000000001587f这样的十六进制数字),虽然当我从TSQL进行相同的查询我得到正确的输出。从sybase到php的乱码数据

我不确定问题来自数据库和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"); 

回答

0

尝试这个:

"select bintostr(max(...)) ....". 
+0

工作就像魅力谢谢 – storm