htmlentities et les chemins comprenant des accents

htmlentities et les chemins comprenant des accents - PHP - Programmation

Marsh Posté le 04-07-2007 à 21:31:49    

Voila le code inclu dans ma page qui permet de lire une vidéo en .divx
 

Code :
  1. $path = htmlentities("jeux vidéo/test.divx" );
  2. <embed type="video/divx" src="<? echo $path;?> custommode="Stage6" width="640" height="480"
  3. pluginspage="http://go.divx.com/plugin/download/"></embed>


 
Le problème provient du "é" de "jeux vidéo".
Avec ce code la vidéo ne se lance pas. Mais si je met la vidéo test.divx dans un répértoire qui ne contient pas d'accent ca fonctionne.
 
Donc ma question est comment gérer cela car il me semblait que la fonction htmlentities servait à ca.
 
 

Reply

Marsh Posté le 04-07-2007 à 21:31:49   

Reply

Marsh Posté le 04-07-2007 à 21:52:25    

htmlentities va transformer ton é en &eacute ; .. ce qui,pour une url, n'est pas mieu
 
Je te conseile d'utiliser plutot urlencode($string);
 

Reply

Marsh Posté le 04-07-2007 à 21:53:59    

Merci mais ca ne fonctionne toujours pas.

Reply

Marsh Posté le 04-07-2007 à 22:02:11    

bon bha en gros, de toute facon : oublie les accents dans les URL car :
-tous les navigateurs ne les suportent pas
-selon les pays, les accents sont plus ou  moins prit en compte
-des accents dans une url ou dans le nom d'un dossier qui contient des fichiers , c'est crade :
 
Ton la solution pour toi serait de supprimer tout les accents avec une fonction genre :
#
function remove_accent($string){
   $accents = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ";
   $no_accents = "AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy";
   $string = strtr($string, $accents, $no_accents);
    return preg_replace('/([^.a-z0-9]+)/i', '_', $chaine);
   }

Reply

Marsh Posté le 04-07-2007 à 22:07:08    

Tu as certainement raison. Je vais virer tous les accents de mes fichiers et repertoires.
Merci de tes conseils ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed