我试图在 MS SQL 数据库中显示字段的内容,其数据类型是“文本”。当我在 PC 上使用 MS Excel 连接到数据库时,值类似于:
发货时间:12 年 10 月 18 日收费 IPEC 内容编号:XXX XXX XXXX
当我使用适用于 Linux 的 Microsoft ODBC 驱动程序通过 PHP 连接到数据库时,文本字段的输出将显示随机字符,每次运行完全相同的脚本时这些字符都会略有不同。这是它最后四次输出的内容:
Xisep)!ØwXment.class.php))
5isep)!ment.class.php))
µ}isep)!Ø}ment.class.php))
t)!!Owner_IDt)Ø©Ø8
不知道它从哪里得到“ment.class.php”位。这看起来像是我的一个类的名称的结尾,但不是这个特定脚本中包含的一个。是驱动坏了还是什么?所有其他数据类型(int、varchar、datetime 等)似乎都能正确显示,问题似乎只发生在这一文本字段中。
这是代码:
<?php
require('ConnectWise.inc.php');
$config = new CW_Config;
// Connect to database
$dbcnx = odbc_connect("ConnectWise", $config->db_username, $config->db_password);
// Query database
$query = "select * from Billing_Log where Invoice_Number = '24011'";
$result = odbc_exec($dbcnx, $query);
while ($row = odbc_fetch_array($result)) {
echo $row['Top_Comment'] . "\n";
}
odbc_close($dbcnx);
这是我最近几次尝试的输出:
\3ȶä!!¶äY!
öÈö§!!ö§Y!
&Èö×!!ö×Y!