Я извлекаю первую букву автора с функцией substr для целей навигации. Автор, названный Žižek, производит вместо символа символ akward вместо первой буквы. Я исключаю это значение жесткого кодирования проблемы, если это имя встречается. Мой db/connection - utf8, мой html - utf8, мой файл - utf8.Отображение Ž из подстроки
$letter='';
foreach ($authors as $value) {
if($letter!=substr($value->author->name, 0,1)){
$letter=substr($value->author->name, 0,1);
if ($value->author->name=='Žižek'){
echo '<a name="'.strtolower($letter).'"></a><span class="vbig red">ž</span>';
} else {
echo '<a name="'.strtolower($letter).'"></a><span class="vbig red">'.$letter.'</span>';
}
}
Могу ли я поступать лучше?
Использование mb_substr - оно обрабатывает многобайтовые строки. – mszymborski