Извиняюсь, за глупый вопрос, знаю что тема изжевана сто тысяч раз, но у себя не могу найти ошибку. В mysql таких проблем не испытаваю, mssql выбор не мой, но реализовать нужно. Подскажите, что делаю не так, есть файл config.php, который стандартно подключаю ко всем скриптам. Устанавливаю кодировку запросом так
sqlsrv_query($conn,'set names cp1251');
или так :
sqlsrv_query($conn,'SET NAMES utf8');
где $conn параметры соединения с сервером. Но оба варианта не помогают. Все бы хорошо, но при выводе из MSSQL в браузер выводятся знаки вопроса, вместо кирилицы. Нагуглил, что необходимо указывать в MSSQL каджому столбцу
COLLATE Cyrillic_General_CI_AS
Собственно всем столбцам проставил, но знаки вопроса при выводе не исчезают.
MSSQL сервер хранит данные в windows-1251, поэтому если у вас файл php находиться в кодировке utf-8, то при вставке в бд вам нужно менять кодировку ваших переменных c utf-8 на windows-1251 с помощью функции iconv. Так же вам нужно будет менять кодировку в обратном направлении при получении данных из БД. Как вариант можно поменять кодировку php файла, но скорее всего это обернется проблемами так как сейчас все в вебе направлено на utf-8.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей