stripos возвращает false, когда используются специальные символы

Я использую функцию stripos, чтобы проверить, находится ли строка внутри другой строки, игнорируя любые случаи.

Вот проблема:

stripos("ø", "Ø") 

возвращает false. В то время как

 stripos("Ø", "Ø") 

возвращает true.

Как вы можете видеть, похоже, что в этом случае функция НЕ делает случайно- чувствительный поиск.

Функция имеет те же проблемы с такими символами, как Ææ и Åå. Это датские персонажи.

Related of "stripos возвращает false, когда используются специальные символы"

mb_stripos() этого используйте mb_stripos() . Это набор символов, и он будет обрабатывать многобайтовые наборы символов. stripos () – это отход от старых добрых дней, когда был только ASCII, и все символы были всего 1 байт.

Вам нужно mb_stripos .

mb_stripos позаботится об этом.

Как утверждают другие решения, сначала попробуйте mb_stripos (). Но если использование этой функции не помогает, проверьте кодировку вашего php-файла. Преобразуйте его в UTF-8 и сохраните. Это помогло мне после нескольких часов исследований.