The PHP Manual iconv Intro has a warning:
Note that the iconv function on some systems may not work as you
expect. In such case, it'd be a good idea to install the GNU libiconv
library. It will most likely end up with more consistent results.
But if accented characters are the only issue then you could use a dirty strtr (partially from strtr comments):
$string = '? à ì ? í ? ? ? ? ? ò è ó é ? ê ? ? ê ù ? ú ? ? ? ü ? Y ? a ? ? ? ?';
$normalizeChars = array(
'?'=>'S', '?'=>'s', 'D'=>'Dj','?'=>'Z', '?'=>'z', 'à'=>'A', 'á'=>'A', '?'=>'A', '?'=>'A', '?'=>'A',
'?'=>'A', '?'=>'A', '?'=>'C', 'è'=>'E', 'é'=>'E', 'ê'=>'E', '?'=>'E', 'ì'=>'I', 'í'=>'I', '?'=>'I',
'?'=>'I', '?'=>'N', '?'=>'N', 'ò'=>'O', 'ó'=>'O', '?'=>'O', '?'=>'O', '?'=>'O', '?'=>'O', 'ù'=>'U', 'ú'=>'U',
'?'=>'U', 'ü'=>'U', 'Y'=>'Y', 'T'=>'B', '?'=>'Ss','à'=>'a', 'á'=>'a', 'a'=>'a', '?'=>'a', '?'=>'a',
'?'=>'a', '?'=>'a', '?'=>'c', 'è'=>'e', 'é'=>'e', 'ê'=>'e', '?'=>'e', 'ì'=>'i', 'í'=>'i', '?'=>'i',
'?'=>'i', 'e'=>'o', '?'=>'n', 'ń'=>'n', 'ò'=>'o', 'ó'=>'o', '?'=>'o', '?'=>'o', '?'=>'o', '?'=>'o', 'ù'=>'u',
'ú'=>'u', '?'=>'u', 'ü'=>'u', 'y'=>'y', 'y'=>'y', 't'=>'b', '?'=>'y', '?'=>'f',
'?'=>'a', '?'=>'i', 'a'=>'a', '?'=>'s', '?'=>'t', '?'=>'A', '?'=>'I', '?'=>'A', '?'=>'S', '?'=>'T',
);
//Output: E A I A I A I A I C O E O E O E O O e U e U i U i U o Y o a u a y c
echo strtr($string, $normalizeChars);