Couin Couiiiiiinnnn !!!!
Bon, je sèche encore une fois (vais finir en poudre à force ... ).
Un script me permettant de lister l'arborescence de là où je place le fichier du script en question.
Je développe sur WAMP et envoie sur un serveur LAMP qui sert en interne au boulote.
Pour exposer le problème, j'ai fais une version minimaliste :
Code : Tout sélectionner
<html lang="fr">
<head>
<title>ScanDir</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<body>
<?
$fichiers = scandir('./');
natcasesort($fichiers);
foreach($fichiers as $fichier) {
echo $fichier . "<br>";
}
?>
</body>
</html>
Avec les noms de fichiers contenants des accents, j'ai un souci :
Sur LAMP, le résutlat est conforme :
.
..
FR_instructions mise à jour FW_QC.doc
Hey patron, j'me suis trompé d'morceau.wav
index.php
Préselection-Fabien-3.xls
Mais sur WAMP, le résultat n’est pas bon :
.
..
FR_instructions mise � jour FW_QC.doc
Hey patron, j'me suis tromp� d'morceau.wav
index.php
Pr�selection-Fabien-3.xls
J'ai essayé avec utf8_encode sur l'echo $fichier, résultat :
WAMP oki :
.
..
FR_instructions mise à jour FW_QC.doc
Hey patron, j'me suis trompé d'morceau.wav
index.php
Préselection-Fabien-3.xls
Mais LAMP plus oki :
.
..
FR_instructions mise à jour FW_QC.doc
Hey patron, j'me suis trompé d'morceau.wav
index.php
Préselection-Fabien-3.xls
J'ai beau testé plein de trucs (changer le charset dans la balise meta, mettre un header dans la partie php, etc etc), quand c'est bon sur un c'est plus bon sur l'autre
Mon fichier est fait sous Notepad++ en UTF-8 (et non UTF8-BOM).
Alors certes, LAMP comme WAMP sont vieux (php 5.3.10 pour LAMP et php 5.3.13 pour WAMP) mais pas du tout au gout du jour de tout refaire en version récente (avec php7.x par exemple) car j'ai plein de script qui ne tourneraient plus (car en mysql et non mysqli), mais bon, il y a 10 ans, ces versions php était récentes et le problème aurait été le même.
Qui qu'aurait une idée pour le canard ?
Merkouin !