Comment écrire un fichier dans le format UTF-8?
J'ai des tas de fichiers qui ne sont pas en UTF-8 et je suis de la conversion d'un site à l'encodage UTF-8.
Je suis à l'aide de script simple pour les fichiers que je veux enregistrer en utf-8, mais les fichiers sont enregistrés dans le vieux-encoding:
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);
}
}
Comment puis-je enregistrer des fichiers en utf-8?
InformationsquelleAutor Starmaster | 2011-01-29
Vous devez vous connecter pour publier un commentaire.
file_get_contents /file_put_contents ne sera pas comme par magie convertir l'encodage.
Vous devez convertir la chaîne de façon explicite; par exemple avec
iconv()
oumb_convert_encoding()
.Essayez ceci:
Ou alternativement, avec PHP filtres de flux:
Ajouter de la NOMENCLATURE: UTF-8
Iconv à la rescousse.
Sur Unix/Linux, un simple shell de commande peut être utilisé alternativement pour convertir tous les fichiers d'un répertoire donné:
Pourrait être lancé via PHPs exec() ainsi.
J'ai eu cette ligne de Cool
Si vous souhaitez utiliser recode de manière récursive, et le filtre pour le type, essayez ceci:
Cela fonctionne pour moi. 🙂
J'ai mis tous ensemble, et nous sommes moyen facile de convertir le texte ANSI fichiers "UTF-8 Sans Marque":
Utilisation: filesToUTF8('C:/Temp/','C:/Temp/conv_files/','php,txt');