php - strtolower 因阿拉伯字符而失败

标签 php

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

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

我正在使用这个功能

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

如果我尝试输入阿拉伯文名称,我会得到此编码 (ø¹ù„ø§ø¡)

亲 body 验

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

?>

最佳答案

您不能在 UTF-8 编码字符串上使用 strtolower,只能在 ISO 8859-1 上使用。使用 mb_strtolower() 代替。您还需要指定使用的编码,确保其设置正确(可能是 "UTF-8")。

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

关于php - strtolower 因阿拉伯字符而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639657/

相关文章:

php - mysql从html更新选择选项错误

PHPStorm 10、XAMPP、Xdebug/Zend 调试器

php - 设置别名 php=/bin/php56 但今天它已经恢复到原来的路径 :/bin/php

php - 歌词网站的数据库设计

php - 你会如何用 Twig 制作一个两列的表?

php - 跨站点请求伪造 (CSRF) 缓解

javascript - symfony 2.8 : error when assetic:dump

PHP,MySQL - 如何显示发布文章的正确时间取决于客户端时区

php - 为 DELETE 操作生成预签名的 s3 Url

php - 如何连接两个具有一对多关系的表并获取 COUNT()?