mb_detect_encoding 没有检测到 SJIS-mac?

mb_detect_encoding does not detect SJIS-mac?

我有一个 SJIS 编码的 csv 文件。

当我调用 mb_convert_encoding($contentOfFile, 'UTF-8', 'SJIS-mac') 时,UTF-8 输出是正确的。

但是当我使用 mb_detect_encoding($contentOfFile, ['SJIS-mac', 'SJIS-win', 'SJIS', 'UTF-8']) 时,它总是 returns SJIS-win.

PHP版本:7.2.11

<?php

$utf8Str = "❶❷❸❹❺";

$sjisStr = mb_convert_encoding($utf8Str, 'SJIS-mac');

echo(mb_detect_encoding($sjisStr, ['UTF-8','SJIS-win', 'SJIS-mac', 'SJIS']));

这是 PHP 的 mbstring 扩展中的一个错误,我正在修复它。 (当我正在修复错误时发现你的问题非常有趣!)