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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Affichage caractère accentué


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut Affichage caractère accentué
    Bonjour,

    je souhaite afficher des données extraite d'un BDD, le traitement ce passe sans problème.
    Mais l'affichage des caractères accentués pose problème (les caractères accentués dont des symboles bizarre).

    Pour l'affichage, je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo ucfirst(strtolower($row->prenom));?>
    Car je veux une majuscule au début du mot suivit de minuscules.
    Sans ucfirst et strtolower, les caractères accentués sont bien affichés, donc l'erreur doit provenir de l'une de ces fonctions.

    J'ai aussi essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo ucfirst(strtolower(html_entity_decode($row->prenom, ENT_QUOTES, 'ISO-8859-15')));?>
    Pouvez-vous m'aider à résoudre ce problème ?

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Dans la doc de PHP on peut lire pour cette fonction :

    Notez que la notion d'"alphabétique" est déterminée par la configuration de localisation. Cela signifie que pour la configuration par défaut "C", les caractères tels que les voyelles accentuées (comme é, è ou à) ne seront pas convertis.
    A priori la solution est de placer cette ligne de code avant d'utiliser cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setlocale(LC_ALL, 'fr_FR');
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    d'abord merci pour votre réponse

    j'ai essayé de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setlocale(LC_ALL, 'fr_FR');
    juste avant le l'appel de la fonction même en début de page

    mais j'ai toujours le même problème

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 21
    Points
    21
    Par défaut réponse
    Je ne sais pas si remplacer le locale va fonctionner. Si ça fonctionne pourrais-je avoir une confirmation? J'avais déjà eu ce problème autrefois!

    Mais je sais en tout cas qu'avec les expressions réguilères
    testé avec et Un É ne valide pas sur un é, même si il est spécifié de ne pas porter attention à la casse.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    attention en UTF8 il faut utilises les fonction mb_*
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "current mb_internal_encoding: ".mb_internal_encoding()."<br />";
    je vois que je suis en ISO-8859-1

    donc il ne pas nécessaire de changer le locale

    par contre je ne comprends le mb_ereg

Discussions similaires

  1. Problème d'affichage des caractères accentuées
    Par Arwa89 dans le forum Android
    Réponses: 6
    Dernier message: 06/05/2013, 01h48
  2. affichage d'un caractère accentué
    Par laurentSc dans le forum Langage
    Réponses: 5
    Dernier message: 29/10/2011, 22h40
  3. problème d'affichages des caractère accentué
    Par ryodo dans le forum Langage
    Réponses: 1
    Dernier message: 22/08/2010, 22h03
  4. affichage caractère accentué
    Par comcom94 dans le forum Langage
    Réponses: 6
    Dernier message: 29/10/2008, 16h19
  5. Bulk insert et caractère accentué
    Par slc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/04/2003, 13h52

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