php_PHP チュートリアルでファイルのエンコーディングを検出する方法の例

WBOY
リリース: 2016-07-13 10:31:48
オリジナル
717 人が閲覧しました

ファイルエンコーディングの検出については、Baidu にたくさんありますが、実際には mb_detect_encoding 検出を提案した人がいますが、何らかの理由で失敗し、誰かが拡張バージョンを作成したのを見ました。 BOM に基づいて無視することにしました。最終的には、PHP マニュアルの mb_detect_encoding 関数の例に基づいて、エンコードを自動的に検出してファイルを読み取る機能も含めました。指定されたエンコーディングの関数とソースコードが提供されます。


コードをコピーします コードは次のとおりです:
/**
* ファイルエンコーディングを検出します
* @param string $file ファイルパス
* @return string|null エンコーディング名または null を返します
*/
function detect_encoding($file) {
$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)) {

/**
* エンコーディングを自動的に解析してファイルを読み取ります
* @param string $file ファイルパス
* @param string $charset エンコーディングを読み取ります
* @return string 読み取った内容を返します*/

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

tru​​e

http://www.bkjia.com/PHPjc/761018.html

技術記事ファイルエンコーディングの検出に関しては、Baidu にたくさんありますが、多くの人が mb_detect_encoding 検出を提案していますが、何らかの理由で成功せず、何も得られませんでした...

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート