Сегодня у меня возникла проблема с php-функцией strpos(), потому что она вернула FALSE, даже если правильный результат был явно 0. Это было связано с тем, что один параметр был закодирован в UTF-8, а другой (источник - HTTP GET параметр), очевидно, не.
Теперь я заметил, что использование функции mb_strpos решило мою проблему.
Теперь мой вопрос: разумно ли использовать функции многобайтовых строк PHP, чтобы избежать проблем в будущем? Следует ли вообще избегать традиционных strpos, strlen, ereg и т.д. И т.д.?
Примечание. Я не хочу устанавливать mbstring.func_overload global в php.ini, потому что это приводит к другим проблемам при использовании библиотеки PEAR. Я использую PHP4.