在Microsoft PHP for SQL Server驱动程序中使用德语字符
希望一切都好。我有一个MS Sql数据库,我想在php中使用。我的php版本是5.4,所以我安装了Microsoft php驱动程序和php中的Sql Server“php_sqlsrv_54_ts.dll”。下面是我的代码:在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");
$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”来解决此问题,它将读取不同语言的任何字符