ファイルエンコーディングの検出については、Baidu にたくさんありますが、実際には mb_detect_encoding 検出を提案した人がいますが、何らかの理由で失敗し、誰かが拡張バージョンを作成したのを見ました。 BOM に基づいて無視することにしました。最終的には、PHP マニュアルの mb_detect_encoding 関数の例に基づいて、エンコードを自動的に検出してファイルを読み取る機能も含めました。指定されたエンコーディングの関数とソースコードが提供されます。
function auto_read($file, $charset='UTF-8') {
$list = array('GBK', 'UTF-8', 'UTF-16LE', 'UTF】 -16BE', 'ISO-8859-1');
$str = file_get_contents($file);
foreach ($list as $item) {
$tmp = mb_convert_encoding($str, $item, $item);
if (md5($tmp) == md5($str)) {
return mb_convert_encoding($str, $charset, $item);
http://www.bkjia.com/PHPjc/761018.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/761018.html