Originariamente inviato da nicola75ss
prova ad aggiungere questa riga al tuo script.
setlocale(LC_CTYPE,'it_IT');

Grazie mille, ma purtropo non è stato sufficente, dovrei vedere il file di configurazione ma non ho i permessi
Comunque l'indicazione mi ha fatto venire l'idea di utilizzare la libreria di conversione dei caratteri.
ho risolto in questo modo:
Non so se è elegante ma al momento funziona
Lascio sul forum se qualcuno dovesse avere lo stesso problema.

function maiuscolo_utf8($s){
$s=mb_convert_encoding($s,"UTF-8","auto");
$s=mb_convert_case($s, MB_CASE_UPPER, "UTF-8");
$s=htmlentities($s, ENT_QUOTES, "UTF-8");
return $s;
}