我在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()
。
请帮帮我。 谢谢!
答案 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,因为你的愚蠢和你的不喜欢。