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

时间:2011-03-30 14:46:58

标签: php strpos string-search

我正在使用stripos function检查字符串是否位于另一个字符串中,忽略任何情况。

问题在于:

stripos("ø", "Ø")

返回false。而

stripos("Ø", "Ø")

返回true。

正如您所看到的,在这种情况下,该函数看起来像 NOT 执行case-不敏感搜索。

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

4 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:3)

您需要mb_stripos

答案 2 :(得分:1)

mb_stripos将负责此事。

答案 3 :(得分:1)

正如其他解决方案所说,首先尝试使用mb_stripos()。但是如果使用此功能没有帮助,检查您的php文件的编码。将其转换为UTF-8并保存。经过数小时的研究,这对我来说很有用。