如您所知,在使用UTF-8数据时,我们需要使用mb_strtolower()
而不是strtolower()
:
$str = 'برنامه';
echo strtolower($str);
----------------------
output: �����
现在所有的内容都变成了未定义字符,现在我使用 mb_strtolower()
。
$str = 'برنامه';
echo mb_strtolower($str);
----------------------
output: �����
仍然得到相同的结果,现在:
$str = 'برنامه';
echo mb_strtolower($str, mb_detect_encoding($str));
----------------------
output: برنامه
现在它已经修复,因此使用mb_strtolower
的方法也需要同时使用mb_detect_encoding
。
现在我的问题是我想用array_map
做同样的事情:
$results_array = array_map('mb_strtolower', $results_array);
我该如何使用mb_detect_encoding
来处理上述行?