Maison  >  Article  >  développement back-end  >  Comment garantir l'encodage UTF-8 pour la conversion de fichiers : pourquoi l'ajout d'une nomenclature fait la différence ?

Comment garantir l'encodage UTF-8 pour la conversion de fichiers : pourquoi l'ajout d'une nomenclature fait la différence ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-07 21:54:03245parcourir

How to Ensure UTF-8 Encoding for File Conversion: Why Adding a BOM Makes the Difference?

Assurer l'encodage de fichier UTF-8 pour la conversion de fichier

Au milieu d'une conversion de site vers l'encodage UTF-8, une tâche courante consiste pour garantir que tous les fichiers sont codés en conséquence. Cependant, les fichiers existants peuvent utiliser un format de codage obsolète. Cet article explore une solution pour écrire des fichiers au format UTF-8, résolvant le problème présenté dans une requête récente.

Un script simple a été utilisé pour convertir l'encodage, mais les fichiers résultants ont conservé leur encodage d'origine. Le script suivant a été utilisé :

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);
    }
}

Pour réussir à écrire des fichiers en codage UTF-8, le script nécessite l'ajout de la nomenclature UTF-8 (Byte Order Mark) :

file_put_contents($myFile, "\xEF\xBB\xBF".  $content); 

Ce préfixe garantit que le fichier est reconnu comme étant codé en UTF-8 et correctement interprété. Avec cette modification, le script convertira et enregistrera efficacement les fichiers au format UTF-8, résolvant ainsi l'écart d'encodage.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn