Se usi gli array non ti serve setlocale.

Codice PHP:
$mesi = array (=> "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'); 
ciao.