You need to make sure that your source file is actually saved in UTF-8, but not Windows-1251. Otherwise those characters won't be representing valid UTF-8 sequenses.
Update:
Right, the iconv //TRANSLATE seems to depend on locale. It may work correctly if you set it to the source language locale. So in your example, this would be some cyrillic locale I guess, but not 'en_US'.
But in fact if you need transliteration just for one language, it's much more reliable to make a simple translation table youself:
$trans = [
'а' => 'a',
'д' => 'd',
'п' => 'p',
...
];
$translit = str_replace(array_keys($trans), array_values($trans), $source_string);
But if you need it to work for all/unknown languages, you will have to use something more complicated such as http://php.net/manual/en/class.transliterator.php