Problèmes d'accents et caractères spéciaux à l'affichage de résultats d'une Base De Données

Petit nouveau ! | 3 Messages

16 nov. 2022, 21:00

Bonjour, j'utilise l'extension "demd" pour créer mon site via Wordpress : "plugin5.home.blog" elle m’a été d’une grande utilité. J’ai réussi avec ELEMENTOR à modifier la mise en page du tableau (font, centrer, couleur de fond, etc…), mais j’ai encore quelques soucis, les accents et caractères spéciaux sont remplacés par des points d’interrogations comment gérer ce premier souci ? J’ai vérifié l’interclassement de la BDD et de la table, c’est en ‘uft8_general_ci’.
J’aimerai aussi changer l’ordre de la date J/M/A et que les dates soient classées de la plus récente à la plus éloignée. Pour le classement il faut que j’utilise « SELECT * FROM agenda ORDER BY date ASC » ‘agenda’ étant le nom de ma table et ‘date’ le champ, mais comme dans l’extension la connexion à la base de données et l’affichage des champs sont gérés par des formulaires, je suis perdu :D Je suis allé dans PHPMyAdmin dans la table 'agenda' j'ai insérer SELECT * FROM agenda ORDER BY date ASC, cela n'a rien changé au niveau de l'affichage sur la page du site. Par contre dans PHPMyAdmin j'ai vu affichées les dates dans l'ordre jour/Mois/Année triées dans un ordre croissant mais que pour les dates de novembre. Elles sont classées du 11/11 au 26/11, mais pour Décembre comme il s'agit du 09/12, cette date se trouve classée en premier. Y-a-t-il un moyen de classer les dates par jours puis par mois afin d'avoir en premier les dates de Novembre classées du 01 au 30, puis ensuite les dates de septembres du 01 au 31 et ainsi de suite ?

Merci pour votre aide. :D

Petit nouveau ! | 3 Messages

17 nov. 2022, 10:12

Je ne comprend pas pourquoi j'ai cet énorme smiley !!! et d'autre part, j'ai fait une erreur dans la dernière phrase, il s'agit des dates de Décembre et non Septembre :(

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 nov. 2022, 11:46

J'ai modifié ton message pour le smiley en le remplaçant par ceux de PHPfrance.

Concernant tes questions :
- Accents et caractères spéciaux remplacés par des points d'interrogation => c'est forcément un problème d'utf8 mal interprété.
Donc il faut vérifier que ta bdd est bien en utf8, que la connexion à ta bdd soit bien en utf8, que ton éditeur de code est bien en utf8 et que ton serveur soit bien configuré pour envoyer les pages en utf8
- pour tes pb de dates, il faut les stocker en base de données sous le format DATE qui est de la forme Y-m-d et qui permet un classeement correct
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 3 Messages

17 nov. 2022, 12:53

Bonjour @rthur, merci pour le smiley et ta réponse.
- Comme je l'ai dit dans mon premier post la BDD (hébergée par OVH) et la table sont en "uft8_general_ci", j'ai aussi modifié dans le fichier "config.php" : "('DB_CHARSET', 'utf8')" et "('DB_COLLATE', 'utf8_general_ci')". Par contre l'Interclassement pour la connexion au serveur est au format : "utf8mb4_unicode_ci". J'ai essayé de le modifier en "uft8_general_ci" avec le menu déroulant mais dés que je sors de la BDD et que je me reconnecte, l'interclassement reste inchangé : "utf8mb4_unicode_ci". Comment puis-je modifier l'interclassement pour la connexion au serveur, s'il te plait ?
- Pour les dates, elles sont bien stockés en "DATE", j'ai exécuté la requête "SELECT * FROM 'agenda' ORDER BY date ASC;" et mes dates sont bien rangées dans l'ordre que je désire quand je suis dans PHPMyAdmin, mais pas du tout à l'affiche. Tu peux regarder sur mon site : gigsenpoche[.]org sur la page "agenda" tu verras ce que ça donne. Si tu as une solution ça m'enlèvera une épine du code :)
Merci !