Problème avec les caractères spéciaux !

Ruffneck2045 Messages postés 3 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 20 janvier 2005 - 20 janv. 2005 à 11:30
Ruffneck2045 Messages postés 3 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 20 janvier 2005 - 20 janv. 2005 à 11:47
Bonjour, j'ai créer un diaporama à l'aide de php & javascript et j'ai un petit problème.
En cliquant sur une image du diaporama, le diaporama nous renvoie vers une page où une requete SQL et exécuté. (en fonction du nom de l'artiste et de son prénom)

Format de l'image : Référence_NomArtiste_PrénomArtiste_etc.jpg).

Le problème est que le diaporama ne reconnait pas le nom de l'image qui possède un caractère spécial, ex : 'é'. Et me renvoie vers une page d'erreur me disant que l'image n'existe pas,le caractère 'é' doit être converti en "%E9", mais à ce moment là, la requete ne fonctionnera plus...

Voici mon code :

Pour avoir un tableau avec le chemin des images :
<?
$repertoire = "diaporama/";
$id_dossier = opendir($repertoire);
$i = 0;
while ($fichier = readdir($id_dossier)) {
$id_fichier = $repertoire.$fichier;
if (is_file($id_fichier)) {
$extension = strtolower(substr(strrchr($id_fichier,'.'),1));
if ($extension== 'jpg')
{
$diaporama[$i] = $repertoire.$fichier;
$i = $i+1;}
}
}
closedir($id_dossier);
?>

Ensuite je convertis le tableau php en javascript (je pense qu'il n'y a pas besoin du source car je l'ai récupérer sur le net)

Maitenant voilà comment fonctionne ma commande pour le lien de chaque image :
<script language='javascript'>


//Ce script sert à déterminer le lien de l'image


function url() {
var i = j;
var IndexDebut = diaporamaimage[i].indexOf("/");
var NomFichier = diaporamaimage[i].substring(IndexDebut+1);
IndexDebut = NomFichier.indexOf("_");
NomFichier = NomFichier.substring(IndexDebut+1);
var IndexFin = NomFichier.indexOf("_");
var NomArtiste = NomFichier.substring(0,IndexFin);
NomFichier = NomFichier.substring(IndexFin+1);
IndexFin = NomFichier.indexOf("_");
var PrenomArtiste = NomFichier.substring(0,IndexFin);

parent.location.href = 'recherche_result.php?nom='+NomArtiste+'&prenom='+PrenomArtiste+'&debut=0&crit=artiste&lang='+lang;
}
</script>

Merci d'avance.

1 réponse

Ruffneck2045 Messages postés 3 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 20 janvier 2005
20 janv. 2005 à 11:47
J'ai trouvé !

En fait dans ma fonction de diaporama pour changer l'image je devais rajouter


function changeimage() {
j = j+1;
if(j>diaporamaimage.length-1){
j = -1;
setTimeout("changeimage()",0);
}
else{
if(document.getElementById) o=document.getElementById('img');
else if(document.images) o=document.images.img;
if(o) {
if(o.filters) o.filters[0].apply();
o.src=escape(diaporamaimage[j]);// escape() converti les caractères spéciaux en Hexadécimal
if(o.filters) document.getElementById('img').filters[0].play();
}
setTimeout("changeimage()",3000);
}
}
changeimage();

Désolé du dérangement ^^
0
Rejoignez-nous