我的网站允许用户注册阿拉伯语/英语名称
我正在尝试将用户的名字和姓氏转换为小写
我正在使用此功能
$first_name = strtolower ( $_POST['first_name'] );
如果我尝试输入阿拉伯语名称,我会得到这个编码(ø¹ù“ø§ø¡)
自己尝试
<?
echo 'مصر'; // return مصر
echo strtolower('مصر'); // return ø¹ù„ø§ø¡
?>
&GT;
答案 0 :(得分:10)
您不能在UTF-8编码的字符串上使用strtolower
,仅适用于ISO 8859-1。请改用 mb_strtolower()
。您还需要指定使用的编码,确保它设置正确(可能是"UTF-8"
)。
<?
echo 'مصر'; // return مصر
echo mb_strtolower('مصر', 'UTF-8'); // return مصر
?>