在PHP中处理多字节字符串(如中文)时,如果使用了不支持多字节的字符串函数(如strlen,substr等),可能会导致乱码问题。为了避免这个问题,你可以使用mb*系列的多字节字符串函数来正确处理多字节字符串。
示例:使用mb_strlen和mb_substr避免乱码
假设你有一个包含中文的字符串,你想按字符拆分这个字符串以下是-个使用mb strlen和mb substr 的示例:
function splitString($str) { $length = mb_strlen($str, 'UTF-8'); // 获取字符串长度 $result = []; for ($i = 0; $i < $length; $i++) { $char = mb_substr($str, $i, 1, 'UTF-8'); // 按字符拆分 $result[] = $char; } return $result; } // 使用示例 $str = "你好,世界!"; $chars = splitString($str); print_r($chars); // 输出: Array ( [0] => 你 [1] => 好 [2] => , [3] => 世 [4] => 界 [5] => ! )