Hoje, mesmo com o collate da base de dados e das tabelas definido como
utf8_general_ci, ficheiros php em
UTF-8 e headers html definidos como
UTF-8, os dados estavam a entrar com um encoding estranho em base de dados...
Solução:
Logo após a conecção à base de dados, executar a seguinte query:
mysql_query("SET NAMES 'utf8';");
That did the trick :)