PHP utf-8由char读取文件

时间:2012-05-30 10:46:05

标签: php utf-8

我在使用utf-8编码处理php中的文件时遇到了一些严重的问题。我需要通过char或者逐行读取文件char,并使用固定的小块。 我尝试使用 fgetc fgets ,但在utf8中编码的字符会分成几个“ chars ”而不是一个。我正在尝试找到一个解决方案,它甚至可能只是一个小的“ string ”,只包含Unicode中的字符,但必须正确地从文件中读取。

我想使用的伪代码:

while ( ($c == read_utf8_char($file)) != false ) {
    if ($c == 'ó') do_something();
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

function mb_str_split($string) { 
    return preg_split('/(?<!^)(?!$)/u', $string ); 
} 

$chars = mb_str_split($file);

foreach ($chars as $c) {
    if ($c == 'ó') do_something();
}

〜来源:http://www.php.net/manual/en/function.mb-split.php#99851