PHP与MSSQL显示来自varbinary字段的原始数据

ark*_*ine 0 php sql-server varbinary

我正在尝试在 php 中显示 SQL Server 中 varbinary 字段的原始数据。我想准确地返回 SQL Server 中的内容(0x00000 等),但它似乎正在执行某种转换并返回给我类似 )T\xc2\xa1\xc3\xb2a\xc3\xbdC\xc5\xbe\ 的内容xc2\xabV\xc2\xb0\xc3\x98\xe2\x80\x98\xc2\xa9O

\n\n

希望这对某人有意义。

\n\n

谢谢

\n

Mat*_*lin 5

当在浏览器中输出时,打印出来的数据始终被解释为字符数据。如果您想要精确的 HEX 或 BIN 数据表示形式,则需要在使用以下方法选择数据时对其进行转换: HEX()

SELECT HEX(mydata) as hexdata FROM mytable ...
Run Code Online (Sandbox Code Playgroud)

当你输出它时,它现在将是一个十六进制字符的字符串。我认为二进制格式有一个等效的格式,它会输出 0 和 1,但我不确定......

如果您无法在 mysql 级别转换数据(可能有很多原因),那么您可以使用 PHP 等效的 bin2hex:

echo bin2hex($mydata['mybinarydata'];
Run Code Online (Sandbox Code Playgroud)

bin2hex 的文档可以在以下位置找到:http://www.php.net/bin2hex

祝你好运