SQL Сервер не возвращает пользовательские письма на php - PullRequest
0 голосов
/ 03 августа 2020

У меня возникли проблемы, когда я пытаюсь получить исходный никнейм моих игроков с SQL сервера на PHP.

Это из SQL Server Management Studio:

UserID      NickName
46          GM
2000001     GM2
2009594     ??????™

После того, как я выберу PHP, NickName ?????? ™ возвращается как ???????????? �

Как мне преобразовать в точно так же, как SQL Server?

$serverConnect = new PDO("odbc:Driver={SQL Server};Server={$ip};Database={$db}; Uid={$user};Pwd={$pass};");
$serverConnect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$serverConnect->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

$nicks = $serverConnect->query("
   SELECT UserID, NickName 
   FROM Sys_Users_Detail 
   WHERE UserName = '$me'
")->fetchAll();

echo $nicks[2]['NickName'];

Я использую Microsoft SQL Server 14.

1 Ответ

0 голосов
/ 03 августа 2020

Вам необходимо установить кодировку никнейма на utf-8

$serverConnect->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NickName 'utf8'");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...