Настройките за MySQL връзката може да са виновни тук. Изпълнете тази MySQL команда, когато се свържете с базата данни от PHP, преди да стартирате други SQL команди:
SET names 'utf8';
Това трябва да зададе кодирането на връзката на UTF-8. Както казвате, страницата и базата данни вече са в UTF-8 (това също трябва да означава, че страницата изпраща Content-Type: text/html; charset=utf-8
); самата връзка може случайно да има различно кодиране по подразбиране :(