用apache在windows上的PHP中的MSSQL问号

时间:2015-07-17 21:42:09

标签: php sql-server windows sql-server-2008

我在Windows Server 2008 R2上安装了Microsoft SQL Server 2008 R2。

Apache上的php 5.6。

在SQL Server中,我使用了COLLATE Cyrillic_General_CI_AI的数据库。

在SQL Server Management Studio中,我可以毫无问题地看到所有内容。

BUT

然后我这样做:

<?php
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$sql = "SELECT NAME FROM NAMES";
$stmt = sqlsrv_query( $conn, $sql );
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
    echo $row['NAME'];
}

我得到了???????????????问号而不是单词。

重要条件:我只能使用sqlsrv_connect()

请帮帮我。 谢谢!

2 个答案:

答案 0 :(得分:1)

在浏览器中设置正确的字符集:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

或通过PHP:

header("Content-Type: text/html; charset=windows-1251");

答案 1 :(得分:1)

所以

如果Microsoft(在地狱中烧毁)没有您在SQL服务器中使用的语言的语言包,那么您将看到问号。

要解决此问题 - 将语言包安装到服务器副本。

再次感谢microsoft,因为你的愚蠢和你的不喜欢。