Sur OS-X (PHP5.2.11) J'ai un fichier: siësta.doc (et mille autres avec les noms de fichier Unicode) et je veux convertir les noms de fichiers en web- format de consommable (a-zA-Z0-9.). Si je hardcode le nom de fichier ci-dessus, je peux faire la conversion droite:Problème de codage avec preg_replace() et scandir()
<?php
$file = 'siësta.doc';
echo preg_replace("/[^a-zA-Z0-9.]/u", '_', $file);
// Output: si_sta.doc
?>
Mais si je lis les noms de fichiers avec scandir, j'ai des conversions étranges:
<?php
$files = scandir(DIRNAME);
foreach ($files as $file) {
echo preg_replace("/[^a-zA-Z0-9.]/u", '_', $file);
// Output for the file above: sie_sta.doc
}
?>
J'ai essayé de détecter la encodage, définissez l'encodage, convertissez-le avec les fonctions iconv. J'ai aussi essayé les fonctions mb_. Mais c'était juste pire. Qu'est-ce que j'ai fait de mal?
Merci à l'avance
Hi. Oui, je l'ai essayé d'avant en arrière mais je n'ai pas travaillé. Merci quand même ;) – itarato