获取数组中项的第一个字符 - 未正确显示变音符号

时间:2013-08-01 14:46:44

标签: php character-encoding

我想获得一个只包含现有数组中第一个字符的数组。这是我的代码:

$tag_array = array('ächzen', 'ßüß', 'test');


function firstCharArray($array){
    $result = array();
    foreach($array as $item){
        $result[] = $item[0];
    }

    return $result;
}

$characters = firstCharArray($tag_array);
echo '<pre>';
print_r($characters);
echo '</pre>';

问题在于我为变音符号获得了。。脚本以UTF-8编码,没有BOM。我不知道我做错了什么。我也尝试设置语言环境,但到目前为止它没有帮助。

1 个答案:

答案 0 :(得分:5)

更改

$result[] = $item[0];

$result[] = mb_substr($item, 0, 1, "utf-8");

您正在获取多字节字符的第一个字节。