Запустите этот запрос, чтобы проверить различные настройки кодировки символов MySQL:
show variables like '%character%'
Я бы сказал, что у вас, вероятно, один или несколько из них установлены на latin1. Также попробуйте выполнить эти запросы перед вставкой / извлечением данных:
SET NAMES utf8
SET CHARACTER SET utf8