"в бд заходят" - это не слишком корректное описание проблемы.
Если все сделано именно так, как написано, то в БД входят нормальные символы. И надо тогда проверять, что
при просмотре выбрана правильная кодировка.
Но скорее всего всё-таки где-то в базе utf8 не указана. "Везде", кстати никакого значения не имеет. Важно только то, что стоит в описании таблицы/полей. Посмотреть можно через
CREATE TABLE table_name
Подробнее можно почитать здесь:
Проблемы с кодировкой в MySQL
К PDO эта проблема прямого отношения отношения не имеет.
PS. Не принципиально, но лучше задавать кодировку в DSN, а не отдельным запросом