UTF-8 形式でファイルをエンコードする
この質問は、非 UTF-8 エンコードのファイルを UTF-8 に変換するという課題に対処します。 Web サイト移行時のフォーマット。提供されたスクリプトはファイル データを取得しますが、目的の UTF-8 エンコーディングで保存することはできません。
この問題を解決するには、UTF-8 の BOM (バイト オーダー マーク) を追加します。この一意の文字は、ファイルが UTF-8 でエンコードされていることをシステムに伝えます。ファイルを保存する前に次の行を挿入します:
file_put_contents($myFile, "\xEF\xBB\xBF". $content);
次のコードを追加します:
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, "\xEF\xBB\xBF".$data); // Append BOM for UTF-8 } }
この変更により、$data が UTF-8 でエンコードされ、ファイルは正しい形式で保存されます。
以上がWeb サイトの移行中にファイルを UTF-8 に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。