Please note that iconv('UTF-8', 'ASCII/TRANSLIT', ...) doesn't work properly when locale category LC_CTYPE is set to C or POSIX. You must choose another locale otherwise all non-ASCII characters will be replaced with question marks. This is at least true with glibc 2.5.
Example:
<?php
setlocale(LC_CTYPE, 'POSIX');
echo iconv('UTF-8', 'ASCII/TRANSLIT', "Žluťoučký kůň\n");
/ ?lu?ou?k? k??
setlocale(LC_CTYPE, 'cs_CZ');
echo iconv('UTF-8', 'ASCII/TRANSLIT', "Žluťoučký kůň\n");
/ Zlutoucky kun
?>