从Sql Server获取数据.从命令行调用php与从浏览器调用php不同


Getting data from Sql Server. Call php from commandl ine is differance to from browser

代码为

$dsn = 'dblib:dbname=AAD;host=mssql';
$dbh = new PDO($dsn, $user, $password);
$query = "AAD..usp_client_code_list_UAS 'WH04', 'ACCS'";
$stmt = $dbh->query($query);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) print_r($row);

我的系统是Ubuntu。当从命令行调用php test.php时,输出是

เอบอส จำกัด

但是当从浏览器调用时,我得到

????? ?????

我该如何修复它?

试试这个:

define('CHARSET', 'ISO-8859-1');
define('REPLACE_FLAGS', ENT_COMPAT | ENT_XHTML);
$dsn = 'dblib:dbname=AAD;host=mssql';
$dbh = new PDO($dsn, $user, $password);
$query = "AAD..usp_client_code_list_UAS 'WH04', 'ACCS'";
$stmt = $dbh->query($query);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
echo htmlspecialchars($row, REPLACE_FLAGS, CHARSET);
}

祝你好运!

我只是添加

setlocale(LC_ALL, 'th_TH.UTF-8');