2014-09-19 62 views
0

希望一切都很好。我有一个MS Sql数据库,我想在PHP中使用。我的PHP版本是5.4,所以我已经在PHP中安装了PHP驱动程序和Sql Server'php_sqlsrv_54_ts.dll'。 Beow是我的代码:在Microsoft驱动程序中使用德语字符作为SQL Server的PHP

 $serverName = "Myserver"; 
    $connectionInfo = array("Database"=>"database", "UID"=>"userid", "PWD"=>"password"); 
    $conn = sqlsrv_connect($serverName, $connectionInfo); 
    if($conn === false) { 
     die(print_r(sqlsrv_errors(), true)); 
    } 

    $sql = "select * from AVE_Stamm WHERE Strasse='Friesenstraße 20'"; 
    $stmt = sqlsrv_query($conn, $sql); 
    if($stmt === false) { 
     die(print_r(sqlsrv_errors(), true)); 
    } 

    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { 
      echo $row['Firma'].", ".$row['Strasse']."<br />"; 
    } 

    sqlsrv_free_stmt($stmt); 

我现在面临的问题是,当我用德语元音像O,A,U,SS在where子句中,查询不返回我任何数据。但没有,我得到的数据。请让我知道如何解决这个问题。

Regards

+0

你试过[UTF-8](http://en.wikipedia.org/wiki/UTF-8)? – Jonast92 2014-09-19 08:28:10

+0

Thansks Jonast92为您的答复。是的,我有,但仍然没有结果。 – 2014-09-19 08:30:36

回答

0

您应该在为数据库搜索创建表时指定排序规则。 作为本地修订,现在,你可以更改有关表 核对(或仅其"value"柱)"utf8_bin",它会工作:)

+0

当我从SQL Server Management Studio查询相同的查询时,它工作正常。 – 2014-09-19 08:33:27

+0

看到它总是取决于您使用SQL查询的数据库。所以我以为你在Mysql中使用php,而在MYSQL中,你可以通过修改“utf8_bin”来解决这个问题,它会读取任何不同语言的字符。 – 2014-09-19 08:35:13

相关问题