Проблемы при выводе результата функцией

YCsys

Гвардеец
у меня проблемы при выводе результата этой функцией!
PHP:
function nick_color ( $str, $nbsp = 0 ) {
	$nbsp = ( $nbsp == 1 ) ? ' ' : '';
	$b = iconv_strlen ( $str, 'utf8' );
	$strmas = str_split ( $str );
	for ( $a = 0; $a < $b; $a++ ) {
        $ycpodpis.='<span style="color:'.random_color().';"><b>'.$strmas[$a].'</b></span>'.$nbsp;
	}
return $ycpodpis;
}
С латынью работает отлично, а вот если встречаются символы кириллицы, то выдает их знаками вопросов.

setlocale прописан:
setlocale(LC_ALL, 'ru_RU.utf8');

Для теста посмотри:
saraj.site90.com/test.php
 

С.

Продвинутый новичок
Ты понимаешь, что такое символ в utf8? Сколько он занимает места в памяти?
 

ksnk

прохожий
Осталось только догадаться про вырезку из строки ;)
 

YCsys

Гвардеец
ВСЕМ СПАСИБО:)

Исправил на
PHP:
function nick_color ( $str, $nbsp = 0 ) {
    $nbsp = ( $nbsp == 1 ) ? '&nbsp;' : '';
    $b = iconv_strlen ( $str, 'utf8' );
    for ( $a = 0; $a < $b; $a++ ) {
        $ycpodpis.='<span style="color:'.random_color().';"><b>'.mb_substr($str, $a, 1, 'utf8').'</b></span>'.$nbsp;
    }
return $ycpodpis;
}
 
Сверху