webide67 Posté 21 Décembre 2009 Posté 21 Décembre 2009 Bonjour, Je mets une galerie en ligne avec photo et nom de la photo. Seuleument voila dès que la photo a un mot avec accent la photo laisse place à une croix alors que le nom apparait correctement. Voici le script que j'utilise <script LANGUAGE="JavaScript">table_photo = new Array;table_noms = new Array;table_type = new Array;<?$a = 0;$handle = opendir("galerie"); while (($file = readdir())!=false) { clearstatcache(); if($file!=".." && $file!=".") { // RECHERCHE DU FICHIER echo "table_photo[$a] = 'galerie/$file';"; // RECHERCHE DU TYPE DE FICHIER $file_type = strrchr($file, "."); $file_type = str_replace(".", "", $file_type); $file_type = strtoupper($file_type); echo "table_type[$a] = '$file_type';"; // RECHERCHE DU NOM : $file_name = strtolower($file); $file_name = str_replace(".jpg", "", $file_name); $file_name = str_replace(".jpeg", "", $file_name); $file_name = str_replace(".gif", "", $file_name); $file_name = str_replace(".png", "", $file_name); echo "table_noms[$a] = '$file_name';"; $a++; } }closedir($handle); ?>function showing_photos(num) { if(document.getElementById) { diaporama_fin = ""; if(num!=0) diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num-1)+");return(false)'><img border=0 src=leftarrow.png height=35></A></td>"; if(num!=(table_photo.length-1)) diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num+1)+");return(false)'><img border=0 src=rightarrow.png height=35></A></td>"; document.getElementById("affichage_photos").innerHTML = "<div align=center><center><table border=0 width=640 cellspacing=0 cellpadding=5 height=480><tr><td colspan=2 valign=middle width=100% bgcolor=#141414 height=20><table border=0 width=100% cellspacing=0 cellpadding=0><tr><td width=50%><font color=#808080> Vue : "+table_noms[num]+"</td><td width=50%></td></tr></table></td></tr><tr><td width=100% colspan=2 valign=middle height=360><table border=0 width=100% cellspacing=1 cellpadding=0 height=100%><tr><td width=100% bgcolor=#141414 height=360><center><img src='"+table_photo[num]+"' width=400 BORDER=0></center></td></tr></table></td></tr><tr>"+diaporama_fin+"</tr></table></center></div>"; } }window.onload = new Function("showing_photos(0)")</SCRIPT> Merci d'avance pour l'aide
Sarc Posté 21 Décembre 2009 Posté 21 Décembre 2009 Bonjour, Il faut de toute manière éviter les noms de fichiers avec accent... Les OS sont de plus en plus laxistes à ce sujet, mais les espaces, accents, sont à éviter au maximum. Je te conseille donc d'enlever les accents de tes noms de fichiers. Si tu veux, il existe des fonctions pour "nettoyer" une chaîne de caractère...
captain_torche Posté 21 Décembre 2009 Posté 21 Décembre 2009 Sarc, j'aurais pensé que tu donnerais ce lien : http://www.webmaster-hub.com/publication/Transformer-un-texte-en-url.html Quoi ? Mais non, je me fais pas de pub ...
Sarc Posté 21 Décembre 2009 Posté 21 Décembre 2009 Ah mais oui mais voilà, je me demandais où était cette extraordinaire ressource, mais hélas, je n'étais pas tombé dessus. Bon bah voilà webide67, tu es sauvé !
jcaron Posté 22 Décembre 2009 Posté 22 Décembre 2009 Pour enlever les accents, en perl, moi je fais ça: my $t = NFD($string);$t =~ s/\pM//g; Ca veut dire: recode tout ça de telle façon que les caractères accentués soient codés comme un (ou plusieurs) accent(s) + la lettre "de base", puis vire tous les caractères qui sont des accents. Je vous laisse transformer ça en php (hint: http://php.net/manual/en/class.normalizer.php ). Jacques.
webide67 Posté 29 Décembre 2009 Auteur Posté 29 Décembre 2009 Bonjour, Je ne souhaites pas supprimer les accents mais qu'ils apparaissent car en intitulé de photo, le chateau de mémé fait plus esthétique que le_chateau_de_meme. Comment puis je régler le problème? Merci d'avance pour vos réponses
Dadou Posté 29 Décembre 2009 Posté 29 Décembre 2009 Par convention, on ne met pas d'accent dans les nom de fichiers sur le web, parce que les claviers étrangers ne peuvent les taper facilement. Maintenant pour ton problème, si normalement, soit // RECHERCHE DU FICHIER echo "table_photo[$a] = ".utf8_encode("'galerie/$file';"); soit, // RECHERCHE DU FICHIER echo "table_photo[$a] = ".utf8_decode("'galerie/$file';"); devrais résoudre ton problème. Je dis sois, parce que sans accéder à ta page, je ne sais pas dans quel sens est ton problème d'encodage
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant