Введение
Хотя и существует множество языков, в которых все необходимые символы можно закодировать одним восьмибитным значением, существуют также и языки, требующие столько символов, что они не умещаются в один байт (Байт состоит из восьми бит. Каждый бит может содержать одно из двух различных значений, единицу или ноль. Поэтому, один байт может задавать только 256 уникальных значений (два в восьмой степени)). Схемы кодирования, использующие многобайтные строки, были разработаны для того, чтобы можно было пользоваться более, чем 256 символами, при этом продолжая работать со строками, как будто они закодированы в обычной побайтовой системе.
Когда вы работаете с многобайтными строками (удаляете пробельные символы с помощью функции trim, разбиваете строку на массив по регулярному выражению с помощью функции split, и т.д.), необходимо использовать специальные функции, так как в таких кодировках два или более последовательных байта могут задавать один символ. Иначе, если применить функцию, не умеющую работать с многобайтными строками, она, вероятно, не сможет определить начало и конец многобайтных символов, и в итоге вы получите строку-мусор, которая скорее всего потеряет исходное значение.
mbstring предоставляет функции для работы с многобайтными строками, которые облегчают работу c многобайтными кодировками в PHP. Кроме того, mbstring занимается конвертированием строк из одной кодировки в другую. mbstring предназначен для работы с Unicode-кодировками, такими, как UTF-8 и UCS-2, а также с многими однобайтными кодировками (для удобства), перечисленными ниже.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Поддержка языков и кодировок
- Введение
- Установка и настройка
- Предопределенные константы
- Краткий список поддерживаемых кодировок
- Основы Японских многобайтных кодировок
- HTTP Ввод и Вывод
- Поддерживаемые кодировки символов
- Механизм перегрузки функций
- Требования, предъявляемые к кодировкам символов в PHP
- Функции для работы с Многобайтными строками
Коментарии
As mentioned on the "Function Overloading" page, you can get the benefits of this module in existing code with almost zero effort on your part - just set "mbstring.func_overload" in php.ini.