ファイルを UTF-8 に再エンコードする
UTF-8 エンコードではないファイルのコレクションがあり、サイトを UTF-8 を使用するように変換中です。この移行を容易にするために、ファイルを読み取って UTF-8 で保存する簡単なスクリプトを考案しましたが、結果のファイルには古いエンコーディングが残ります。
問題のスクリプトは次のとおりです:
header('Content-type: text/html; charset=utf-8'); mb_internal_encoding('UTF-8'); $fpath = "folder"; $d = dir($fpath); while (False !== ($a = $d->read())) { if ($a != '.' and $a != '..') { $npath = $fpath . '/' . $a; $data = file_get_contents($npath); file_put_contents('tempfolder/' . $a, $data); } }
ファイルを UTF-8 エンコードで正常に保存するには、UTF-8 バイト オーダー マーク (BOM) を各ファイルの先頭に追加する必要があります。
file_put_contents($myFile, "\xEF\xBB\xBF". $content);
これを追加すると、スクリプトは出力ファイルを UTF-8 で効果的にエンコードし、最新の Web 標準との互換性を確保します。
以上が再エンコードされたファイルが依然として古いエンコードを使用しているのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。