mb_check_encoding() は UTF-16(BOM 付き Little Endian) を正しく検証できない

確認した PHP のバージョンは PHP 5.2.9 です。

<?php
// テスト(UTF-16: BOM 付き Little Endian の文字列)
$str = "\xFF\xFE\xC6\x30\xB9\x30\xC8\x30";
var_dump( mb_check_encoding( $str, "UTF-16" ) );

結果は以下の通りです。

bool(false)

以下の通り、BOM 付き Big Endian の文字列では問題ありません。

<?php
// テスト(UTF-16: BOM 付き Big Endian の文字列)
$str = "\xFE\xFF\x30\xC6\x30\xB9\x30\xC8";
var_dump( mb_check_encoding( $str, "UTF-16" ) );
bool(true)