php中的MSSQL问号在windows与apache


MSSQL question marks in php on windows with apache

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

和php 5.6在Apache。

在SQL Server我有数据库与COLLATE Cyrillic_General_CI_AI。

在SQL Server Management Studio我可以看到一切没有任何问题。

,

然后我这样做:

<?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()

请帮帮我。谢谢你!

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

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

或通过PHP使用:

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

So.

如果Microsoft (burn in hell)没有针对您在SQL服务器中使用的语言的语言包,那么您将看到问号。

要解决这个问题-安装语言包到您的服务器副本。

再次感谢微软,感谢你的愚蠢和你对utf-8的厌恶。