What is Mbstring and how to enable

By on August 4th, 2016

Mbstring stands for multi-byte string functions. Mbstring is an extension of php used to manage non-ASCII strings. Mbstring is used to convert strings to different encodings. Multibyte character encoding schemes are used to express more than 256 characters in the regular byte wise coding system. Mbstring provides multibyte specific string functions that help us to deal with multibyte encodings in PHP. Mbstring handles character encoding conversion between the possible encoding pairs. Mbstring is designed to handle Unicode-based encodings such as UTF-8 and UCS-2 and many single-byte encodings for convenience PHP Character Encoding Requirements.


Types of Encodings Used in PHP Are: 

1) Single byte encoding

Single byte encoding consists of ASCII code compactable mappings for 00h to 7th range of characters. Multibyte encoding also uses ASCII code compactable mappings for 00h to 7th character range. Multi byte encoding don’t use ISO2022 escape sequences and value from 00h to 7th in any of the compound bytes that represents a single character.


2) Multibyte encoding

In multi byte character encoding a single byte is represented with consecutive bytes. Some character encoding consists of escape sequences to start or end multibyte character strings. Therefore, a multi byte character encoding safe method is used because the multibyte character string may be destroyed when it is divided. This module provides multi-byte character safe string functions and other utility functions such as conversion functions.

Mbstring is enabled in PHP used to support storing and displaying multi byte characters in PHPKB software. Mbstring extension needs to be installed on the server when configuring a website to work with different languages on a Linux server for website functionality. The mbstring extension in PHP uses to parse different language encoding’s.


Features of mbstring Are: 

1) It handles the character encoding conversion between the possible encoding pairs.

2) Offers automatic encoding conversion between the possible encoding pairs.

3) Supports function overloading feature which enables to add multibyte awareness to regular string functions.

4) Provides multibyte specific string functions that properly detect the beginning or ending of a multibyte character. For example, mb_strlen() and mb_split().

In many languages all characters can be expressed as single byte. Multi-byte character codes are used to express many characters for many languages. Mbstring is developed to handle Japanese characters. Many mbstring functions are able to handle character encoding other than Japanese. PHP is designed for ISO-8859-1, some multi-byte character encoding does not work well with PHP. Therefore, it is important to set mbstring.language to appropriate language (i.e. “Japanese” for Japanese) and mbstring.internal_encoding to a character encoding that works with PHP.


PHP 4 Character Encoding Requirements are: 

1) Per byte encoding

2) Single byte characters in range of 00h-7fh which is compatible with ASCII

3) Multi-byte characters without 00h-7fh

Most Japanese characters need more than 1 byte per character. In addition, several character encoding schemes are used under a Japanese environment. There are EUC-JP, Shift_JIS(SJIS) and ISO-2022-JP(JIS) character encoding. As Unicode becomes popular, UTF-8 is used also. UTF-8 is an 8-bit encoding system and it is ASCII compactable. To develop Web applications for a Japanese environment, it is important to use the character set for the task in hand, whether HTTP input/output, RDBMS and E-mail.

A multi-byte character is usually twice of the width compared to single-byte characters. Wider characters are called “zen-kaku”, it means full width and narrower characters are called “han-kaku” it means half width. “Zen-kaku” characters are usually fixed width. Some character encoding defines shift(escape) sequence for entering/exiting multi-byte character strings.

Mbstring functions may cause some harassment to us. If we enabled mbstring.func_overload in php.ini file, we frequently need to use an external library in string functions when overloading single byte string function by multi byte string functions. Mbstring are used in many international web applications. It is a must, otherwise the application will be limited to some certain nations and languages.


How to Enable mbstring in cPanel

1) Login to cPanel.

2) Go to the section ‘Software’.

3) Click the icon ‘Select PHP Version’

4) Select the php extension ‘mbstring’.

5) Click the button ‘Save’.


If you need any further assistance please reach our support department.



One Response to “What is Mbstring and how to enable”

  1. Vinit Roy says:

    I have tried the above mentioned step in enable mbstring but I am getting an error

    “MultiPHP system default PHP version is alt-php. PHP Selector does not work and should be disabled! ”

    Please help me out in this

Leave a Reply