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 :

[Encodage] utf8 image affichage


Sujet :

Langage PHP

  1. #1
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut [Encodage] utf8 image affichage
    Bonjour, dans une table j'ai un champ ou il est entré : Bénin.
    Ce champ me permet d'afficher le pays sur une page et a côté du pays mettre un petit drapeaux et c'est la que j'ai un problème.
    Les images sont mis dans un dossier "drapeaux" et les titres sont tous accrochés, en minuscules et sans accent ex : Côte d'ivoire est cotedivoire.png // Bénin est benin.png
    ---
    Pour ce faire j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	//On remplace les accents
    	$ptitle1= strtr($ptitle,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"
     ,"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
    	//On passe tout en minuscule et on supprime les caracteres speciaux
    	$special = array(" ",".",":",",","!","?","-","_","\\","'","(",")","$","&","%","*","«","»");
    	$ptitle1 = strtolower(str_replace($special,"",$ptitle1));
    Et pour afficher l'image je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="modules/'.$ModPath.'/images/drapeaux/'.$ptitle1.'.png" border="0" title="'.$ptitle1.'" />
    Le problème est que comme l'enregistrement dans la base est en utf8 et donc sans accent ca ne fonctionne pas !
    -----------
    Voilà le problème, je ne sais pas si cette méthode est à moitié bonne ou s'il faut faire autrement ; auriez-vous une idée ?
    Merci !

  2. #2
    En attente de confirmation mail Avatar de gd_dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2003
    Messages : 79
    Points : 129
    Points
    129
    Par défaut
    Bonjour,

    Il est difficile de vous aider, que retourn votre fonction?

    Avez-vous essayé utf8_decode, utf8_encode?

  3. #3
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    J'ai mis en ligne le module mais il n'est pas encore fini : http://poeweb.hostarea.org/modules.p...op=pays&cont=1
    J'ai bien essayé avec "decode", j'ai meme cru que ca avait réglé le problème mais en local et pas en ligne malheureusement, je l'avais mis comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	//On remplace les accents
    	$ptitle1= strtr(utf8_decode($ptitle),"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"
     ,"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");

  4. #4
    En attente de confirmation mail Avatar de gd_dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2003
    Messages : 79
    Points : 129
    Points
    129
    Par défaut
    Ce que je trouve bizare c'est que pour le lien vous arivez à afficher Algérie. Comment vous faites?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <tr>
       <td>IMG: alg�rie 
       ...
       title="Algérie" /></td>
        <td valign="top" width="200" class="ongl">
         <a href=".........">Algérie</a></td>

  5. #5
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Pour afficher la liste je fais comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $result=mysql_query("select pid, ptitle, cont from ".$NPDS_Prefix."annu_pays where cont='$cont' order by ptitle");
    while (list($pid, $ptitle, $cont) = mysql_fetch_row($result)) {
            //On remplace les accents
    	$ptitle1= strtr(utf8_decode($ptitle),"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"
     ,"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
    	//On passe tout en minuscule et on supprime les caracteres speciaux
    	$special = array(" ",".",":",",","!","?","-","_","\\","'","(",")","$","&","%","*","«","»");
    	$ptitle1 = strtolower(str_replace($special,"",$ptitle1));	
    echo '<td><img src="modules/'.$ModPath.'/images/drapeaux/'.$ptitle1.'.png" border="0" title="'.$ptitle.'" />'
    .'<td valign="top" width="200" class="ongl"><a href="'.$ThisFile.'&amp;op=index&amp;pid='.$pid.'">'.stripslashes($ptitle).'</a></td>'
    Je transforme le ptitle du début en ptitle1 juste pour aller chercher l'image et que ca n'affiche pas le titre tout accroché et sans accents !
    Et donc pour le lien et le title je met $ptitle !

  6. #6
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Heu, je ne sais pas pourquoi mais ca fonctionne maitenant (avec le encode), désolé et merci pour votre aide !

  7. #7
    En attente de confirmation mail Avatar de gd_dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2003
    Messages : 79
    Points : 129
    Points
    129
    Par défaut
    Testez ça:

    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
     
    function no_accent($str_word)
    {
     
    	$int_how_match = strlen($str_word);
    	$str_return = "";
     
    	for($i=0; $i < $int_how_match; $i++ ){
    		$str_return = $str_return.substr(str_replace("&","",htmlentities(substr($str_word, $i ,1))),0,1);
    	}
     
    	return $str_return;
    }
     
    $ptitle1 = no_accent($ptitle);

  8. #8
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Salut, je voulais te remercier pour ta fonction qui fonctionne, en fait je croyais que ca fonctionnait avec ma méthode mais j'ai du me planter entre les différents fichiers ouverts plus le cache car ca ne fonctionnait pas, heureusement qu'on a posté en meme tps et que tu n'ais pas eu le tps de voir ma réponse
    Merci !

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

Discussions similaires

  1. [DisplayTag] problème d'affichage de l'encodage UTF8
    Par m.ben.hamida dans le forum Taglibs
    Réponses: 5
    Dernier message: 28/04/2009, 15h18
  2. [image]affichage
    Par charaf dans le forum 2D
    Réponses: 4
    Dernier message: 02/12/2005, 19h07
  3. passage souris sur 1 petite image --> affichage ds table
    Par nico_web dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/10/2005, 14h33
  4. Réponses: 2
    Dernier message: 27/12/2004, 09h23
  5. [Image] Affichage image en 12 bits
    Par Plawi dans le forum 2D
    Réponses: 9
    Dernier message: 18/11/2004, 09h34

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