PHP mb_strtolower在某些UTF-8非ascii字符上无法正常工作

时间:2019-01-10 09:11:01

标签: php unicode utf-8

mb_strtolower()在某些情况下不会产生预期的结果,例如在某些希腊多形字母中,例如在以下字符串ᾬγαθός中,您可以看到它应如何在下面的javascript版本中使用。

PHP(最高7.1.1):

$s = "Łukasz Åland Ἡράκλειον ᾬγαθός Ὕλλον";
echo $s . "<br>";
echo mb_strtolower($s, "UTF-8");

输出:

Łukasz Åland Ἡράκλειον ᾬγαθός Ὕλλον
łukasz åland ἡράκλειον ᾬγαθός ὕλλον 

(正确) javascript:

"Łukasz Åland Ἡράκλειον ᾬγαθός Ὕλλον".toLowerCase()

输出:

łukasz åland ἡράκλειον ᾤγαθός ὕλλον

有什么我可以做的,还是一个bug?

1 个答案:

答案 0 :(得分:1)

这不是问题,该问题不会出现在php 7.2.4及更高版本中。