function setU($word) {
$array = str_split($word);
$array[0] = '%U' . $array[0] . '%';
return implode('', $array);
}
$text = 'Acia acia Ciaa JA Ja jA ja Kiya';
$words = explode(' ', $text);
foreach($words as $key => $word) {
if (isset($word[0])) {
$words[$key] = setU($word);
}
}
$text = implode(' ', $words);
$text = preg_replace('/(\%UJ\%(A|a))/u', 'Я', $text);
$text = preg_replace('/(\%Uj\%(A|a))/u', 'я', $text);
$text = preg_replace('/(\%UA\%)(cia|cie|cio|ciu|ci|sia|sie|sio|siu|si)/u', 'Ок$2', $text);
$text = preg_replace('/(\%Ua\%)(cia|cie|cio|ciu|ci|sia|sie|sio|siu|si)/u', 'ок$2', $text);
$text = preg_replace('/\%U([A-z])\%/u', '$1', $text);
Тут я не подскажу. В моём случае никакой магии. Открываю файл и сразу вижу дорожки.
Может у вас не хватает кодеков или попробовать другую версию программы?