Maison > Article > développement back-end > Comment puis-je convertir des fichiers en UTF-8 lors de la migration d'un site Web ?
Encodage de fichiers au format UTF-8
Cette question aborde le défi de la conversion de fichiers avec un encodage non UTF-8 en UTF-8 format lors de la migration du site Web. Le script fourni récupère les données du fichier mais ne parvient pas à les enregistrer dans l'encodage UTF-8 souhaité.
Pour résoudre ce problème, ajoutez la BOM (Byte Order Mark) pour UTF-8. Ce caractère unique indique au système que le fichier est codé en UTF-8. Insérez la ligne suivante avant de sauvegarder le fichier :
file_put_contents($myFile, "\xEF\xBB\xBF". $content);
Voici le code avec l'ajout :
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 } }
Cette modification garantit que les $data sont encodés en UTF-8, et le les fichiers seront enregistrés au format correct.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!