На одном из joomla-сайтов существует модуль, который выводит статьи определённой категории в алфавитном порядке и слева от названия статьи в списке отдельным стилем указывает заглавные буквы, на которые начинается название статьи. Указание начальных букв было реализовано довольно просто:

<?php echo substr ( $this->title, 0, 1 ); ?>

Вроде бы всё понятно и очень просто.... Пока бело не касается русских кодировок - кириллицы. При обработке русско-язычного текста эта конструкция упорно выводила текст в кодировке KOI8-R, хотя весь сайт (как и большинство joomla-сайтов) использует кодировку UTF8. Решение вроде бы напрашивается как само собой разумеющееся - преобразовать кириллицу koi8-r в кириллицу utf-8

<?php echo iconv ( 'koi8-r', 'utf-8', substr ( $this->title, 0, 1 ) ); ?>

Код верный, без ошибок, библиотеки, ответственные за iconv подключены, однако первый символ по-прежнему выводился в KOI8-R. Прочитал уйму материалов и мануалов по iconv, но ничего не помогло. Решение нашлось в принципе случайно. Я захотел проанализировать, что именно получается в результате работы функции substr и что именно передаётся в iconv. Естественно, я ввёл промежуточную переменную (чтобы дальше разбираться с ней)

<?php $FirstSymbol = substr ( $this->title, 0, 1 ); echo iconv ( 'koi8-r', 'utf-8', $FirstSymbol ); ?>

и - о чудо! - всё стало работать как надо. Как это объяснить, не не знаю, может кто подскажет?