Encodage de caractères de form html vers bdd MySQL [Résolu]

Messages postés
31
Date d'inscription
samedi 10 novembre 2012
Statut
Membre
Dernière intervention
8 novembre 2019
- - Dernière réponse : jordane45
Messages postés
26739
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2019
- 26 oct. 2019 à 01:24
Bonjour,

Je suis en train de créer from scratch un site web pour mon usage personnel, et je recontre quelques soucis, sûrement liés à l'encodage des caractères, quand j'utilise des formulaires html pour insérer des données dans ma base de données MySQL (en local).

Voici comment je crée mon objet base :
$bdd = new PDO('mysql:host=127.0.0.1;dbname=my_db;charset=utf8', $login, $password);


Et la ligne que j'utilise pour faire ma requête INSERT (assez classique) :
$insert_query = $bdd->prepare('INSERT INTO membres(prenom) VALUES(?)');
$insert_query->execute(array($_POST['prenom']));


Je précise que la variable $_POST['prenom'] est récupérée via un formulaire html à la ligne suivante :
<label for="prenom">Prénom : </label><input type="text" name="prenom" />


Néanmoins j'obtiens en sortie :
- $_POST['prenom'] = "J�r�my" (via un echo)
- Champ MySQL --> J??r??my

J'imagine que cela vient de la variable $_POST['prenom'] mais je ne vois pas comment résoudre le problème...

Chacune de mes pages comprend la balise :
<meta charset="utf-8" />


Auriez-vous une piste ou une solution svp ?

Merci d'avance !

Configuration: Windows / Chrome 77.0.3865.120
Afficher la suite 

1 réponse

Messages postés
26739
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2019
1870
Commenter la réponse de jordane45