stripos在使用特殊字符时返回false

foe*_*ens 6 php string-search strpos

我正在使用stripos函数来检查字符串是否位于另一个字符串内,忽略任何情况.

这是问题所在:

stripos("ø", "Ø")
Run Code Online (Sandbox Code Playgroud)

返回false.而

stripos("Ø", "Ø")
Run Code Online (Sandbox Code Playgroud)

返回true.

正如您可能看到的,在这种情况下,函数似乎不会执行不区分大小写的搜索.

该功能与Ææ和åå等字符有同样的问题.这些是丹麦人物.

Mar*_*c B 9

mb_stripos()改用.它具有字符集识别功能,可处理多字节字符集.stripos()是旧时代的延续,当时只有ASCII并且所有字符只有1个字节.