Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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
Php Mssql查询返回?代替重音字符_Php_Sql Server - Fatal编程技术网

Php Mssql查询返回?代替重音字符

Php Mssql查询返回?代替重音字符,php,sql-server,Php,Sql Server,对,我正在用PHP运行一个mssql存储过程,重音字符似乎返回为? 存储过程是 ALTER PROCEDURE [dbo].[dbname] @ProjectID AS int AS SELECT ProjectName COLLATE SQL_Latin1_General_CP1_CI_AS AS ProjectName, CustomerName COLLATE SQL_Latin1_General_CP1_CI_AS AS CustomerName FROM Project WHERE

对,我正在用PHP运行一个mssql存储过程,重音字符似乎返回为? 存储过程是

ALTER PROCEDURE [dbo].[dbname]
@ProjectID AS int
AS
SELECT ProjectName COLLATE SQL_Latin1_General_CP1_CI_AS AS ProjectName, 
CustomerName COLLATE SQL_Latin1_General_CP1_CI_AS AS CustomerName
FROM Project
WHERE ProjectID = @ProjectID
END
与此相关的PHP是(显示的返回值用于ABCDĒďĀØØØØØØēù)

我可以用一只手来弄清楚如何解码函数返回的字符。我在网上找不到其他来源的帮助,我甚至尝试了几次堆栈溢出的修复,但都无济于事


还请注意,如果我有选择的话,我将使用mysql和php,而不是mssql,并且我在debian服务器上运行php,我需要调用
ini_set('mssql.charset','UTF-8')(或在php.ini文件中更改该设置)


感谢Mikael Eriksson为我提供了我丢失的搜索词(unicode),以帮助我在

上找到答案,我需要调用
ini_set('mssql.charset','UTF-8')(或在php.ini文件中更改该设置)


感谢Mikael Eriksson为我提供了我丢失的搜索词(unicode),以帮助我找到关于

数据库设置为什么编码的答案?UTF-8?数据库的排序规则是SQL\u Latin1\u General\u CP1\u CI\u,但对于编码,我不知道如何找到答案SQL Server中的问号通常意味着试图在varchar列中存储unicode字符串。如果您对ComputerName和ProjectName列使用varchar,您可以尝试将它们改为nvarchar。不幸的是,此数据库不属于我们,它属于我们的客户端,我们可以更新存储过程、读取和写入数据。数据库设置为什么编码?UTF-8?数据库的排序规则是SQL\u Latin1\u General\u CP1\u CI\u,但对于编码,我不知道如何找到答案SQL Server中的问号通常意味着试图在varchar列中存储unicode字符串。如果您对ComputerName和ProjectName列使用varchar,您可以尝试将它们改为nvarchar。不幸的是,此数据库不属于我们,它属于我们的客户端,我们可以更新存储过程、读取和写入数据。
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
    or die("Couldn't connect to SQL Server on $myServer");
$selected = mssql_select_db($myDB, $dbhandle)
    or die("Couldn't open database $myDB");
$stmt=mssql_init("select.Project", $dbhandle);
$desktopid = $_GET['desktopid'];
$compid = 0;
$custid = 0;
mssql_bind($stmt, "@ProjectID", $desktopid, SQLINT4, FALSE, FALSE);
$result = mssql_execute($stmt);
$row = mssql_fetch_assoc($result);
echo $row['ProjectName'];          ==== ABCD????????????
utf8_decode($row['ProjectName']);  ==== ABCD????????????
utf8_encode($row['ProjectName']);  ==== ABCD????????????