Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Microsoft PHP for SQL Server驱动程序中使用德语字符_Php_Sql_Sql Server - Fatal编程技术网

在Microsoft PHP for SQL Server驱动程序中使用德语字符

在Microsoft PHP for SQL Server驱动程序中使用德语字符,php,sql,sql-server,Php,Sql,Sql Server,希望一切都好。我有一个MS Sql数据库,我想在php中使用。我的php版本是5.4,所以我安装了Microsoft php驱动程序和php中的Sql Server“php_sqlsrv_54_ts.dll”。下面是我的代码: $serverName = "Myserver"; $connectionInfo = array( "Database"=>"database", "UID"=>"userid", "PWD"=>"password");

希望一切都好。我有一个MS Sql数据库,我想在php中使用。我的php版本是5.4,所以我安装了Microsoft php驱动程序和php中的Sql Server“php_sqlsrv_54_ts.dll”。下面是我的代码:

        $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);
$serverName=“Myserver”;
$connectionInfo=array(“数据库”=>“数据库”、“UID”=>“用户ID”、“PWD”=>“密码”);
$conn=sqlsrv_connect($serverName,$connectionInfo);
如果($conn==false){
模具(打印错误(sqlsrv_errors(),true));
}
$sql=“选择*自大街20号”;
$stmt=sqlsrv_查询($conn,$sql);
如果($stmt==false){
模具(打印错误(sqlsrv_errors(),true));
}
而($row=sqlsrv\u fetch\u数组($stmt,sqlsrv\u fetch\u ASSOC)){
echo$row['Firma'].,“$row['Strasse'.]”和“
”; } sqlsrv_free_stmt($stmt);
我面临的问题是,当我在where子句中使用像Ö、Ä、Ü、ß这样的德语元音时,查询不会返回任何数据。但没有这些,我就得到了数据。请告诉我如何解决这个问题


关于

在为数据库搜索创建表时,应指定排序规则。 现在,作为本地修复程序,您只需更改相关表的排序规则即可
(或仅其
“value”
列)设置为
“utf8\u bin”
,它将工作:)

连接SQL server时,始终将编码设置为UTF-8。另外,将脚本另存为UTF-8

设置连接编码的MSDN示例:


或者另一个:

你试过了吗?谢谢你的回复。是的,我有,但仍然没有结果。当我从SQL Server Management Studio查询相同的查询时,它工作正常。请看,它始终取决于使用SQL查询的数据库。因此,我认为您将php与Mysql结合使用,在Mysql中,您可以通过将排序规则更改为“utf8_-bin”来解决此问题,它将读取不同语言的任何字符