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 :

fonction qui apprecie pas les é [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut fonction qui apprecie pas les é
    bonjour tous le monde!


    argh! ce matin, je me connecte, et que vois je ? ma chere fonction toute bebete qui sert a couper les mots


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function cut_word($texte, $nb)
    {
    	return (strlen($texte) > $nb) ? substr($texte, 0, $nb).'...' : $texte;
    }


    renvoie un carré blanc quand il s'agit d'un é!!!!!

    et pourtant, mes é sont bien intégrés a ma page!


    les é de ma bdd sont sous cette forme : é et je suis en content="text/html; charset=utf-8"


    ????? une idee siouplais?

    merci bien!

  2. #2
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    Salut,

    Il faut que tu vérifies que ta base de donnée, table et colonne soit configuré pour l'utf8.

    Ensuite il faut que les données qui y sont stockés soit sous le même format.

    ++

  3. #3
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    aïe !


    merci beaucoup!

    mais je crois que mon truc bug!

    regardez cette image a ce lien cliquez sur la photo pour agrandir

    le premier champs coloré en gris que vous pouvez voir, c'est la que ca bug :

    les 6 premieres entrées bugent, mais pas la septieme?????!



    SORCELLERIE!

  4. #4
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    À mon avis, les données contenu en DB ne sont pas au format UTF8.
    Si table et colonne sont définis dans ce format, essaie de mettre à jour manuellement et directement dans la table (avec PHPMyAdmin) l'un des champs qui pose problème. Ensuite réaffiche le résultat.

  5. #5
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    arf!

    c'est ce que j'ai fais!


    rien a y faire!

    je mets manuellement dans ma bdd les é....

    graouf! ca marche pas!

    données corrompues?

  6. #6
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    EUhhh non!

    Si ta table et colonne sont correctement défnies... mets à jour en indiquant les é,è,...

    Ce document pourrait t'intéresser

    ++

  7. #7
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bonjour et pourquoi pas contourner le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function cut_word($texte, $nb)
    {
            $texte=ereg_replace("é","é",$texte);
    	return (strlen($texte) > $nb) ? substr($texte, 0, $nb).'...' : $texte;
    }
    Mais sinon tu pourrais carrément créer une autre fonction changeant les caractère bizarres en simple "é" ou autre, et tu l'appel au début de ta fonction : cut_word

  8. #8
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    merci bien pour ta fonction, mais ca change rien

    je comprends pas, pourtant j'ai c/c mais les é ne s'affichent toujours pas sous cette fonction...


    on est proche!!!!




    *.Har(d)t dsl, j'avais pas vu, mais vu que j'ai pas la main mise sur la bdd, je peux pas faire grand chose a part esquiver le probleme.

    si je reussis a l'esquiver, ca peut etre guenial!!!!

  9. #9
    Invité
    Invité(e)
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function cut_word($texte, $nb)
    {
    	return (strlen($texte) > $nb) ? utf8_encode((substr(utf8_decode($texte), 0, $nb).'...') : $texte;
    }

  10. #10
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut




    Z ETES LES MEILLEURS!!!!!!!




    IT S WORKIIIIIIIIIIIIIIING





    MERCI INFINIMENT!!!!!!!



    alors la, par contre, j'aimerais qu'on m'explique deux choses siouplais :

    -que fais EXACTEMENT cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    utf8_encode((substr(utf8_decode($texte), 0, $nb).'...'))
    et pourquoi mon truc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function cut_word($texte, $nb)
    {
     
     
    if((strlen($texte) > $nb))
    {
    if(preg_match("#Ã$#",  substr($texte, 0, $nb)))
    $nb=$nb+2;
    }
    	return (strlen($texte) > $nb) ? substr($texte, 0, $nb).'...' : $texte;
    }

    et bah il marchait pas ? le principe etait pourtant simple : si le dernier caractere coupé egalait à , et bien il coupait une lettre plus tard, ce qui lui aurait permis de garder é




    en tout les cas, merci beaucoup, ca fait deja pas mal de temps qu'on me repond sur ce forum. Super sympa tous

  11. #11
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Si avec la fonction contenant les utf8_x ca marche c'est que tu as effectivement un souçis d'encodage quelque part.
    Fichier ou bdd mais il y'a un soucis.

    Et pour ta fonction de découpe , privilégie mb_strlen plutot que strlen sinon tu risques de te retrouver avec des résultats érroné
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/10/2011, 20h03
  2. fonction qui regarde si les champs sont remplis
    Par esther60 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/05/2008, 09h55
  3. Réponses: 1
    Dernier message: 02/05/2008, 21h34
  4. Réponses: 6
    Dernier message: 30/01/2008, 21h46
  5. Réponses: 1
    Dernier message: 24/10/2006, 16h59

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