PHP mbstring.func_overload против использования функций mbstring [дубликат]
Вопрос
На этот вопрос уже есть ответ здесь:
Я хочу адаптировать обработку строк моего сайта для поддержки других языков в соответствии с UTF-8.Кажется, лучший способ сделать это — отказаться от всех стандартных строковых функций.
Итак, у меня есть два варианта: я могу установить mbstring.func_overload
в php.ini, или я могу вернуться к своему коду и просто заменить все функции на mb_*
.Я предполагаю, что второй вариант будет проще для людей, использующих мой код, поскольку им не придется менять конфигурацию сервера.(если они вообще смогут!)
А что будет, когда выйдет PHP 6?Должно ли это иметь какие-либо ограничения на мой выбор, поскольку оно будет поддерживать правильную многобайтовую обработку.
Решение
Я верю аргументу против mbstring.func_overload
заключается в том, что если вы используете какие-либо сторонние библиотеки/код, этот код может полагаться на «нормальную» функциональность рассматриваемых функций - например, он может вызывать substr() для усечения строки, содержащей двоичные данные, с точным границу байта или использование strlen() для получения длины в байтах, а не в символах UTF-8.
Смотрите также: Должен ли я использовать многобайтовую перегрузку (mbstring.func_overload)?