strtolower以阿拉伯字符失败

时间:2012-05-17 16:27:42

标签: php

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

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

我正在使用此功能

$first_name = strtolower ( $_POST['first_name'] );

如果我尝试输入阿拉伯语名称,我会得到这个编码(ø¹ù“ø§ø¡)

自己尝试

<?
echo 'مصر'; // return مصر
echo strtolower('مصر'); // return ø¹ù„ø§ø¡
?>

&GT;

1 个答案:

答案 0 :(得分:10)

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

<?
echo 'مصر'; // return مصر
echo mb_strtolower('مصر', 'UTF-8'); // return مصر
?>