IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème d'accent et urlencode


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Problème d'accent et urlencode
    Bonjour,

    Je stocke dans une base de données les noms des photos que je veux afficher.
    Pour l'affichage j'ai donc une ligne de ce type-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='./photo/".$laphoto['lien_photo']."' target='_blank'><img class='apercu' src='./photo/".$laphoto['lien_photo']."'/></a>";
    $laphoto['lien_photo'] contenant bien sûr le nom du fichier.

    Si le nom du fichier contient un accent, l'affichage marche très bien sous IE7 mais firefox 2 n'affiche rien. J'ai donc essayer d'utiliser les fonctions urlencode et rawurlencode mais ça ne résout pas le problème. C'est même pire puisque IE n'affiche plus les photos non plus.

    Je vous remercie par avance de votre attention,

    Cordialement.

  2. #2
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    bonjour,

    Pour ma part j'ai réglé ce problème en enlevant les accents et espace de mes nom de fichiers ou d'images... Je pense qu'il faut prendre cette habitude.

    Maintenant, si tu n'as vraiment pas le choix, je vais faire une ch'tite recherche et repasserais par là

    ++

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    En fait, si ça ne tenait qu'à moi, j'enlèverais effectivement les accents et espaces. Cependant, le site sera mis à jour par une personne "non-informaticienne" et j'aurais voulu lui simplifier le boulot. Il reste encore la possibilité de modifier le nom du fichier lors de l'upload, mais j'avoue qu'une fonction qui puisse encoder les caractères spéciaux m'aurait bien aidé.

    En tout cas, merci de ton aide.

  4. #4
    Fabouney
    Invité(e)
    Par défaut
    Salut,

    comme tu l'a dit, le meilleur moyen et de faire une fonction qui retire tout les espace et remplace par "_" admettons, ce sera mieux pour tout le monde.

    Coridalement.

  5. #5
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    salut,

    Une petite solution pour toi, mais c'est pas dit que ce soit la meilleurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    function modif_name($nom_fichier){
     
    	return strtr($nom_fichier, array(' '=>'_','é'=>'e','è'=>'e','à'=>'a','\''=>'','\"'=>''));
     
    }
     
     
    	//on vérifies que le champ est bien rempli:
    	if(!empty($_FILES["fichier_choisi"]["name"]))
    	{
    		//nom du fichier choisi:
    		$nomFichier    = modif_name($_FILES["fichier_choisi"]["name"]);
    		//nom temporaire sur le serveur:
    		$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
    		//type du fichier choisi:
    		$typeFichier   = $_FILES["fichier_choisi"]["type"] ;
    		//poids en octets du fichier choisit:
    		$poidsFichier  = $_FILES["fichier_choisi"]["size"] ;
    		//code de l'erreur si jamais il y en a une:
    		$codeErreur    = $_FILES["fichier_choisi"]["error"] ;
     
    		//chemin qui mène au dossier qui va contenir les fichiers uplaod:
    		$chemin = "upload_fichier/" ;
     
    		if(copy($nomTemporaire, $chemin.$nomFichier))
    			echo("<br>l'upload a réussi") ;
    		else
    			echo("<br>l'upload a échoué") ;
    	}//fin if
    	else
    	{
    		echo("Vous n'avez pas choisit de fichier!!<br>") ;
    		echo("<a href=\"FTP.php\">Retour</a>") ;
    	}//fin else
    }
    Voilà, si tu veux que je te l'explique n'hésite pas

    ++

  6. #6
    Fabouney
    Invité(e)
    Par défaut
    Voilà aussi 2 petites fonctions que j'ai faites qui sont nickel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function CalculateURLFromString($basetxt)
    {
    	$basetxt=unaccent($basetxt);
    	$basetxt=strtolower($basetxt);
    	$basetxt=strtr($basetxt, ' ?+!,/\.()"%'."'", '-------------');
    	while(strpos($basetxt,'--')!==false)
    		$basetxt=str_replace('--','-',$basetxt);
    	while(substr($basetxt, -1)=='-')
    		$basetxt=substr($basetxt, 0, -1);
    	while(substr($basetxt, 0, 1)=='-')
    		$basetxt=substr($basetxt, 1);
    	return $basetxt;    
    }
     
    function unaccent($string)
    {
    	return strtr(  strtr($string,
    	'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ',
    	'AAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy'),
    	array('Þ' => 'TH', 'þ' => 'th', 'Ð' => 'DH', 'ð' => 'dh', 'ß' => 'ss',
    	'Œ' => 'OE', 'œ' => 'oe', 'Æ' => 'AE', 'æ' => 'ae', 'µ' => 'u', 
    	'&' => 'and'));
    }
    Cordialement.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Très bien, je vais essayer tout ça. Je vous remercie, et je vous tiendrais au courant.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Fabouney,

    Je me suis servi de ta fonction qui marche très bien. Cependant, j'ai vu qu'elle remplaçait aussi les points par un trait d'union. J'ai donc pris la liberté de faire une modification, car sinon je me retrouvais avec un nom de fichier sans extension.

    Encore merci,

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit problème d'accent
    Par No_SenS dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 11/04/2005, 14h10
  2. Problèmes d'accent avec une connexion ODBC et ADO
    Par michael.jacques dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2005, 16h36
  3. Réponses: 3
    Dernier message: 25/02/2005, 21h46
  4. [XSLT] application d une xslt et problème d'accents
    Par lanfeust23 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 26/07/2004, 14h08
  5. Problème avec accents et CHARACTER SET ISO8859_1
    Par kinda dans le forum InterBase
    Réponses: 13
    Dernier message: 30/10/2003, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo