【发布时间】:2022-01-21 17:57:10
【问题描述】:
我正在使用 PHP 函数 sybase_connect 连接到 mssql 数据库并检索数据,如下所示:
$mssql=sybase_connect($Host, $User, $Password, "cp1257");
$mssql->query("EXEC AuthLoginList");
while($mssql->get_row()){
echo $mssql->f('id')." ".$mssql->f('name')." ".$mssql->f('surname')."<br>";
}
数据库版本是 Microsoft SQL Server 2012 (SP4-GDR) (KB4583465) - 11.0.7507.2 (X64)
以下编码用于文本字段:
你使用什么编码并不重要。结果总是一样的。提供问号而不是国家符号。例如:
$mssql=sybase_connect($Host, $User, $Password, "cp1257");
$mssql=sybase_connect($Host, $User, $Password, "iso-8859-1");
$mssql=sybase_connect($Host, $User, $Password, "utf8");
$mssql=sybase_connect($Host, $User, $Password, "utf-8");
$mssql=sybase_connect($Host, $User, $Password, "iso_1");
$mssql=sybase_connect($Host, $User, $Password, "windows-1257");
$mssql=sybase_connect($Host, $User, $Password, "UNICODE");
也许有人可以就如何解决这个问题给我建议。
【问题讨论】:
-
很好奇为什么要使用 sybase 库连接到 SQL Server,您是否尝试过使用现代 SQL Server 库? PHP 文件本身是存储为 UTF-8 还是 ...?
default_charset设置是什么?你为什么用一些拉脱维亚语和一些立陶宛语? -
我认为你可以使用 PDO 连接到 mssql
-
您可能可以使用 PDO,@Jerson,但是您可以只使用 Microsoft Drivers for PHP for SQL Server。
标签: php sql-server charset