#php #sql-server #browser #command-line #pdo
#php #sql-сервер #браузер #командная строка #pdo
Вопрос:
Мой код
$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 на выходе получается
เอบอส จำกัด
но при вызове из браузера я получаю
????? ?????
Как мне это исправить? Помогите мне, пожалуйста.
Ответ №1:
Попробуйте это:
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);
}
Удачи!
Ответ №2:
Я просто добавляю
setlocale(LC_ALL, 'th_TH.UTF-8');
и проблема исчезла.