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?
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.