Дали доступ к внешней БД на mssql. Ну не знаю я его. Не понимаю, как там явно указать кодировку.
Русские строки приходят в виде "??? ?????". Именно вопросики. БД не моя, как-то изменить её я не могу. Могу только читать. Гугл не помог. Как я понял, set names в mssql нету. Куда прописывать collate так и не разобрался. Он вроде для сортировки нужен, а мне бы просто строку в таблице прочитать.
Делал запрос в INFORMATION_SCHEMA.COLUMNS. Вернул вот такие параметры об этом поле:
'DATA_TYPE' => 'nvarchar'
'CHARACTER_SET_NAME' => string 'UNICODE'
'COLLATION_NAME' => string 'Latin1_General_CI_AI'
Работаю на php. Соединение устанавливаю вот так:
$dbh = new PDO("dblib:host=hostname:port;dbname=db", "login", "pass");
Пробовал в первый параметр добавить charset - не помогает. Вставлял utf8 и самые разные "начертания" Latin1_General_CI_AI.
Ну sql запрос примитивнейший:
SELECT TOP 100 * FROM Discounts;