il problema è che la pagina che vai a recuperare con file_get_contents potrebbe non essere utf-8;

prova a usare utf_encode *prima* di inserire il testo nel db. esempio:

codice:
$query = "insert into nometabella (nomecampo) values (".utf8_encode($testo).")";