Bonjour,

J'ai constaté que les accents ne passaient pas lorsque je convertis les dates en francais.
C'est uniquement le seul problème que j'ai concernant les accents en PHP, j'ai donc cherché mon problème mais je n'ai pas trouvé

        <?php
            $bdd = new PDO ('mysql:host=localhost;dbname=insectelevage2', 'root', '');
            $bdd->query("SET NAMES 'latin1', lc_time_names = 'fr_FR'");
            $recupderniermessage = $bdd->prepare("SELECT DATE_FORMAT(datemessage, '%d %b %Y à %Hh%i') AS datemessage FROM forummessages ORDER BY id DESC LIMIT 1");
            $recupderniermessage->execute();
            $resultat = $recupderniermessage->fetch();
            echo 'Le '.$resultat['datemessage'];    
            $recupderniermessage->closeCursor();
            ?>

février affichera f�vrier

Quelqu'un aurait une petite idée ? Merci d'avance =)

8 réponses


Alexandre #lbac
Réponse acceptée

Parce qu'il faut que tu encode le tout en utf8 et pas en "latin1"

Alexandre #lbac
Réponse acceptée

utf8_general_ci serait plus approprié ;)

Il faut que tu convertisses toute tes tables (et ta base de donnée du coup) pour que cela fonctionne correctement ;)

Simple, clair, précis ! Merci =)

Ah, les dates vont à merveille maintenant c'est le texte qui fait des siennes (les accents toujours).
Le meta charset est bien en utf-8
Mon éditeur est en utf8-w/o BOM
Phpmyadmin : utf8mb4_general_ci

Merci pour ces astuces.
C'est vraiment une plaie ces histoires d'accents ^^

Quand tu commences un projet, quand tu crées tes tables toujours vérifies que ta base de donnée est encodée en utf8_general_ci, et que ton éditeur est également au format UTF8 ;)

Ca t'évitera les soucis d'accent ;)

J'en avais jamais connu des soucis d'accents, c'était la première fois ^^
Au moins pour la prochaine fois, je saurai ;-)

au pire htmlspecialchars c'est utile ;) bonne journée!