strtolower() for unicode/multibyte strings

2022-08-30 13:29:44

我的页面中有一些非英语/外语的文本,但是当我尝试将其设置为小写时,字符被转换为包含问号的黑色菱形。

$a = "Երկիր Ավելացնել";
echo $b = strtolower($a);
//returns  ����� ���������

我已经将我的字符集设置在元标记中,但这并没有解决它。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

我该怎么做才能将我的字符串转换为小写而不损坏它?


答案 1

你试过使用mb_strtolower()吗


答案 2

PHP5 与 UTF-8 不兼容,因此您仍然需要求助于 mb 扩展名。我建议您将mb的内部编码设置为utf-8,然后您可以自由使用其函数,而无需一直指定字符集:

mb_internal_encoding('UTF-8');

...

$b = mb_strtolower($a);
echo $b;

推荐