[RESOLU] caractère spéciaux dans sauvegarde de bdd phpmyadmin

Eléphant du PHP | 89 Messages

17 mai 2023, 23:27

wamp = windows apache mysql php
donc mysql est bien installé.

sinon, il faut que tout soit en utf8, encodage du fichier php, sortie de l'html ...
ah et bien ça doit être moi qui n'y arrive juste pas à chaque fois que j’essaie j'ai le droit à des erreurs (comme quoi je rentre des fonctions inconnues et en plus je ne trouve aucune documentation qui explique de A à Z comment faire fonctionner cet outil.

Avatar du membre
Mammouth du PHP | 1564 Messages

18 mai 2023, 08:40

sinon, il faut que tout soit en utf8, encodage du fichier php, sortie de l'html ...
Si t'insère ton caractère spécial directement depuis la BDD (bouton "insérer" depuis ton SGBD) il devient aussi "?"

Eléphant du PHP | 89 Messages

18 mai 2023, 10:35

Je viens de regarder et j'ai les "?" dès la récupération dès données cela n'apparait pas lors de l'écriture du document mais avant

ynx
Mammouth du PHP | 586 Messages

18 mai 2023, 11:55

Le problème semble bien venir du charset de ta connexion à la bdd.
Pour rappel, évite de mélanger le style procédural et le style orienté objet, choisi et utilise une des deux syntaxes.

En testant ton code après avoir défini le charset de la connexion à la bdd, les caractères spéciaux qui s'affichaient sous la forme "?" sont désormais affichés correctement :
$con = mysqli_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
mysqli_set_charset($con, 'utf8mb4');

Eléphant du PHP | 89 Messages

18 mai 2023, 12:05

Lorsque je regarde l'interclassement de ma bdd elle est en 'utf8_general_ci' donc il ne faut pas définir le mysqli_set_charset à utf8 ? Au lieu de utf8mb4 ?

À vrai dire c'est un code que j'ai trouver sur internet (bien qu'un peu modifier) mais du coup tu viens de m'apprendre qu'il existait un style procédural et un autre orienté objet. Du coup comment je dois modifier comment pour unifier le style ?

Eléphant du PHP | 89 Messages

18 mai 2023, 12:16

Bon je viens de faire un test: j'ai modifier ma bdd pour mettre l'interclassement en utf8mb4 et ça marche !!! Merci beaucoup pour ton aide !!!
À vrai dire c'est un code que j'ai trouver sur internet (bien qu'un peu modifier) mais du coup tu viens de m'apprendre qu'il existait un style procédural et un autre orienté objet. Du coup comment je dois modifier comment pour unifier le style ?
Je suis quand même preneur là dessus (on ne dit jamais non à l'apprentissage)

Avatar du membre
Mammouth du PHP | 1564 Messages

18 mai 2023, 21:08

Bon je viens de faire un test: j'ai modifier ma bdd pour mettre l'interclassement en utf8mb4 et ça marche !!! Merci beaucoup pour ton aide !!!
Je suis quand même preneur là dessus (on ne dit jamais non à l'apprentissage)
Souvent dans la doc ya les deux exemples, procédural et object en PHP

L'article le plus connu sur l'explication des codages des caractères est cet article (du moins, pour moi) : https://www.joelonsoftware.com/2003/10/ ... o-excuses/

Eléphant du PHP | 89 Messages

18 mai 2023, 21:12

d'accord merci beaucoup je vais aller voir ça