我用substr函数提取作者的第一个字母用于导航。作者Žižek产生了一个符号,而不是第一个字母。如果出现此名称,我将忽略此问题的硬编码值。我的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>';
}
}
我可以做得更好吗?