phpphp-ini

What does zend.multibyte directive exactly affect?


I am using UTF8 encoding without BOM for all my php scripts for years, and they work fine. Today i discovered that thereis core directive named zend.multibyte, and it is zero (disabled) by default.

So, if it does not affect scripts parsing.. what exactly does it affect?


Solution

  • Zend Multibyte is needed for ASCII-incompatible encodings, like some Asian encodings from pre-unicode/pre-utf-8 times and is mostly used in Japan. when enabled the parser will check mbstring.script_encoding and use that encoding while parsing. As internally some conversions happen this should be avoided, but for some users is the only way they can use PHP.