Se usi gli array non ti serve setlocale.
ciao.Codice PHP:
$mesi = array (1 => "Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno",
"Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre");
$giorni = array("Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato");
echo $giorni[date('w')].' '.date('j').' '.$mesi[date('n')].' '.date('Y');