我在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的厌恶。