Je pense avoir trouvé une solution satisfaisante qui peut servir à d'autres qui ont le même souci que moi .
Je prends pour exemple le tuto lecteur mp3 "ecolo-player"
Je procède par étape.
On va travailler avec le fichier html généré par flash , qui est donc ecolo-player.html.
1- Transformer ce fichier en fichier php
2- Dans ce fichier changer le charset de la balise meta qui devient
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
3- Après la balise body insérer le code php suivant
<?php $nfori="soné.mp3" ; if(!is_file($nfori) ){ echo "$nfori n'existe pas !!"; exit;}
$nf="";
for ($i=0;$i<strlen($nfori)-4;$i++) $nf.="".ord( $nfori$i]).";";
$nf.=".mp3";
echo "nom du fichier : $nf";
?>
4- Ensuite mettre le paramètre son= accolé au fichier swf avec du code php (ceci pour le "loaderInfo.parameters.son")
le fichier php devient donc
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<title>ecolo-player</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css" media="screen">
html, body { height:100%; background-color: #ffffff;}
body { margin:0; padding:0; overflow:hidden; }
flashContent { width:100%; height:100%; }
</style>
</head>
<body>
<?php $nfori="soné.mp3" ; if(!is_file($nfori) ){ echo "$nfori n'existe pas !!"; exit;}
$nf=""; // $nf=nom fichier avec chaque caractère transformé par sa valeur ascii
for ($i=0;$i<strlen($nfori)-4;$i++) $nf.="".ord( $nfori$i]).";";
$nf.=".mp3";
echo "nom du fichier : $nf";
?>
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="370" height="200" id="ecolo-player" align="middle">
<param name="movie" value="ecolo-player.swf?son=<?php echo $nf;?>" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="ecolo-player.swf?son=<?php echo $nf;?>" width="370" height="200">
<param name="movie" value="ecolo-player.swf?son=<?php echo $nf;?>" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download\_buttons/get\_flash\_player.gif" alt="Obtenir Adobe Flash Player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
J'ai procédé à plusieurs essais avec les caractères accentué, l'apostrophe, des blancs dans le nom du chier mp3.
C'est ok (sauf en localhost avec wamp, mais je vais cogiter pourquoi, le principal étant que ce soit ok sur un site web)
écouter ici La moldau
et ici la Moldau avec un nom de fichier un peu transformé..