PHP mbstring.func_overload против использования функций mbstring [дубликат]

StackOverflow https://stackoverflow.com/questions/1647419

  •  22-07-2019
  •  | 
  •  

Вопрос

На этот вопрос уже есть ответ здесь:

Я хочу адаптировать обработку строк моего сайта для поддержки других языков в соответствии с UTF-8.Кажется, лучший способ сделать это — отказаться от всех стандартных строковых функций.

Итак, у меня есть два варианта: я могу установить mbstring.func_overload в php.ini, или я могу вернуться к своему коду и просто заменить все функции на mb_*.Я предполагаю, что второй вариант будет проще для людей, использующих мой код, поскольку им не придется менять конфигурацию сервера.(если они вообще смогут!)

А что будет, когда выйдет PHP 6?Должно ли это иметь какие-либо ограничения на мой выбор, поскольку оно будет поддерживать правильную многобайтовую обработку.

Это было полезно?

Решение

Я верю аргументу против mbstring.func_overload заключается в том, что если вы используете какие-либо сторонние библиотеки/код, этот код может полагаться на «нормальную» функциональность рассматриваемых функций - например, он может вызывать substr() для усечения строки, содержащей двоичные данные, с точным границу байта или использование strlen() для получения длины в байтах, а не в символах UTF-8.

Смотрите также: Должен ли я использовать многобайтовую перегрузку (mbstring.func_overload)?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top