Creati una funzione che pulisca il nome del file rendendolo "sicuro", sostituisci tutti i caratteri potenzialmente problematici con caratteri sicuri, ad esempio
	Codice PHP:
	
function sanitize_filename($filename)
{
    $cerca = array("à","è","é","ì","ò","ù","'","?"," ");
    $sostituisci = array("a","e","e","i","o","u","_","","_");
    return str_replace($cerca,$sostituisci,$filename);
} 
 
Ovviamente puoi inserire altri caratteri negli array, ma è importante l'ordine in cui li metti.
Usa la stringa così ottenuta come nome del file da salvare sia sul db che come nome del file vero e proprio.