Phpでファイルの文字コードを調べる

提供:wiki - PCスキルの小技・忘却防止メモ
移動: 案内, 検索

サンプルソース

エンコードする前と後でモノが一緒かチェックする。
英数字だけとかだったら使えないと思う。
※先に、英数字を削除した方が早いかも。

<?php
	/**
	 * 文字コードを調べる
	 * 各文字コードで変換、変換前と変換後が同じかチェック。
	 * @param unknown_type $str
	 */
	function checkEncodeOfFile($str){
		// 文字コード一覧
		$charArys = array('EUC-JP', 'SJIS', 'ASCII', 'JIS', 'UTF-8');
		foreach ($charArys as $charset){
			if ( $str == mb_convert_encoding($str, $charset, $charset) ){
				return $charset;
			}
		}
		return $charset;
	}
	
	$url = 'http://xxx.xxx.net';
	$sorce = @file_get_contents($url);
	
	echo "文字コード:" . checkEncodeOfFile($sorce) . "\n";
?>

関連項目