Это зависит от используемой вами кодировки символов. В однобайтовых кодировках символов или UTF-8 (где один байт внутри символа никогда не может быть ошибочно принят за другой символ), тогда, пока строка, в которой вы ищете, и строка, которую вы используете для поиска, находятся в одном и том же кодирование, то вы можете продолжать использовать обычные функции поиска строки.
Если вы используете многобайтовую кодировку, отличную от UTF-8, которая не препятствует тому, чтобы отдельные байты в символе отображались как другие символы, то всегда невозможно выполнить поиск строки, используя обычные функции поиска строки. Вы можете найти ложные срабатывания. Это связано с тем, что сравнение строк в PHP в таких функциях, как strpos, выполняется по байтам, и, за исключением UTF-8, специально разработанного для предотвращения этой проблемы, многобайтовые кодировки страдают от проблемы, которая возникает из любого последующего байта символа более одного байта может совпадать с частью другого символа.
Если искомая строка в и искомая строка имеют разные кодировки символов, преобразование всегда будет необходимо. В противном случае вы обнаружите, что для любой строки, которая будет представлена по-другому в другой кодировке, она всегда будет возвращать false. Вы должны выполнить такое преобразование при вводе: определитесь с кодировкой символов, которую будет использовать ваше приложение, и будьте последовательны в приложении. Каждый раз, когда вы получаете ввод в другой кодировке, конвертируйте по пути.