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