Проблема
На сайте вместо русского текста отображаются знаки вопроса
Решение
Дело в кодировке символов. Решить проблему можно с помощью явного объявления кодировки utf-8 при создании объекта PDO:
$connection = new PDO("mysql:host=localhost;dbname=cms;charset=utf8;", $username, $password);
// ...
Источники