Во первых надо выяснить где у вас ломается кодировка. Попробуйте залить обычный хтмл файл, вывести какой-то текст через пхп, запросить и вывести какие-то текстовые строки из бд - какой вариант даст поломанную кодировку?
Во вторых - проверить что установленно в пхп.ини в качестве default_charset (должно быть default_charset = "utf-8").
В третьих, конечно же проверить кодировку подключения к бд, которая должна быть выставлена как utf8mb4.
Ну и в четвертых - для использования мультибайт функций нужно установить mb_internal_encoding("UTF-8");