Как обеспечить, чтобы PHP уважал настройку zend.script_encoding?

В настройке PHP 5.4 у меня есть эти настройки в моем PHP.ini:

zend.multibyte = On zend.script_encoding = UTF-16BE zend.detect-unicode = 0 

Я пытаюсь заставить движок zend интерпретировать мои PHP-скрипты в определенной кодировке, например UTF-16BE. Это означает, что сценарии, закодированные в другой кодировке, должны завершиться ошибкой. Я не хочу, чтобы движок zend вообще делал какие-либо догадки , независимо от (в) существования байтовых последовательностей, таких как метки спецификации.

Это мой скрипт index.php:

 <?php echo '1'; 

Файл состоит из 32 байт, сохраненных с использованием UTF-16 LE :

 FF FE // BOM 3C 00 3F 00 70 00 68 00 70 00 20 00 // <?php 65 00 63 00 68 00 6F 00 20 00 // echo 27 00 31 00 27 00 // '1' 3B 00 // ; 

Сценарий должен завершиться неудачно, поскольку предоставленная кодировка не является UTF-16BE. Однако выход равен 1 , доказывая, что движок выполняет кодирование-угадывание на основе предоставленных байтов.

Выход также 1 когда мы сохраняем файл с использованием UTF-8 с спецификацией:

 EF BB BF // BOM 3C 3F 70 68 70 20 // <?php 65 63 68 6F 20 // echo 27 31 27 // '1' 3B // ; 

Почему zend.detect-unicode работает не так, как ожидалось?

Что еще более важно, как мы можем настроить движок на уважение поставляемой кодировки в zend.script_encoding ?