ODBC Windows 服务器 2003 来自 Windows 服务器 2012

ODBC Windows Server 2003 from Windows Server 2012

我们需要通过 ODBC 从 Windows 2003 服务器到 Windows 2012 服务器进行 SQL 选择(我知道 2003 存在风险且不受支持)

我已经在 windows 2003 服务器上安装了来自 Microsoft® SQL Server® 2008 R2 SP2 的 ODBC 本机 SQL 驱动程序。配置并测试连接工作。

在PHP我使用:

$dsn = "Whosebugdsn";
$user = "Whosebug";
$pwd = "Whosebug"; 

if (!$conn = odbc_connect($dsn, $user, $pwd))
{
   echo "ODBC-Connection failed";

   exit;
} 
else {
         if ($conn) {
         $sql = "SELECT * FROM [DBNAME].[dbo].[Status];";
         $rs = odbc_exec($conn, $sql);
         while(odbc_fetch_row($rs)) {
             $name = odbc_result($rs,"Name");
             echo "name : $name <br>";
         }
     }
}   
?>

列数正确,但结果是很多垃圾:

name :
name : ãG
name : ãG
name : ãG
name : ãG
G
name : ãG
name : ãG
name : ãG
G¨
name : ãG
name : ãG

字符有时会变化

我将 2012 Servers 数据库的兼容性设置为 SQL Server 2008 (100)。

谁能帮帮我?

字符串的数据库类型从 ef 核心设置为 nvarchar,varchar 可以正常工作