我正试图从专有的ERP数据库创建一个报告。我已经建立了一个ODBC连接,并使用PHP从数据库中提取数据。
如果我使用Microsoft SQL Server Management Studio,我可以看到一行有一个TimeStamp字段(字符串类型),其值为0x00000000093E7FCA,显然对应于2011-02-04。(这个表中的所有字段都是字符串类型。不知道为什么。看起来很懒。)
如果我对返回的ODBC对象进行var_dump,我会得到:
public 'TimeStamp' => string '���� >Â' (length=8)
如何使用PHP将此字符串值转换为十六进制等效值(在本例中为0x00000000093E7FCA)?
我试过:
$row->TimeStamp + 0; // '0' ...nope.
(binary)$row->TimeStamp; // '���� >Â' ...close!
(int)((binary)$row->TimeStamp); // '0' ...doh!
我会尝试bin2hex($row->TimeStamp)
文档:http://us3.php.net/manual/en/function.bin2hex.php
您可以试试这个:bin2hex。将二进制数据转换为十六进制的php实现。