strtolower以阿拉伯字符失败

Ala*_*mal 3 php

我的网站允许用户注册阿拉伯语/英语名称

我试图将用户的名字和姓氏转换为小写

我正在使用这个功能

$first_name = strtolower ( $_POST['first_name'] );
Run Code Online (Sandbox Code Playgroud)

如果我试着把阿拉伯名字我得到这个编码(ø¹ù"ø§ø¡)

亲自试试吧

<?
echo '???'; // return ???
echo strtolower('???'); // return ø¹ù„ø§ø¡
?>
Run Code Online (Sandbox Code Playgroud)

?>

Mad*_*iha 10

您不能strtolower在UTF-8编码的字符串上使用,仅适用于ISO 8859-1.请mb_strtolower()改用.您还需要指定使用的编码,确保它设置正确(可能"UTF-8").

<?
echo '???'; // return ???
echo mb_strtolower('???', 'UTF-8'); // return ???
?>
Run Code Online (Sandbox Code Playgroud)