Bonjour,
Après avoir parcourut de nombreux topics à ce sujet je n'ai toujours pas rencontré de cas identique au miens:
En générale on dit: "ajoute un $bdd->exec('SET NAMES utf8');" et ca fonctionne...
Pour mon cas je n'ai pas de soucis pour récupérer les accents de ma base de donnée (problème résolu grâce à cette méthode), mais ca ne fonctionne pas lorsque j'insère une donnée qui comporte des accents !
Exemple:
Ici phpMyAdmin va m'enregistrer pour "chloé" "chlo?", et si je fais un SELECT, je récupère ce "?" au lieu du "é" dans php...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php try { $bdd = new PDO('mysql:host=localhost;dbname=ma_table', 'root', ''); $bdd->exec('SET NAMES utf8'); } catch(Exeption $e) { die('Erreur : '.$e->getmessage()); } $membre0 = htmlspecialchars($_POST['prenom_membre0']); $bdd->exec("INSERT INTO membres(prenom) VALUES('".$membre0."')"); ?>
Mes tables sont en "latin1_swedish_ci"est-ce correcte ? Quand je les mets en "utf8_bin" ou "utf8_general_ci" il me coupe la chaîne à partir du premier accent rencontré.
Pourtant les données sont elles bien réceptionnées quand je met les accents en "insertion manuelle" via phpMyAdmin mais mal insérer par "INSERT INTO" etc...
Désolé de faire un post de plus là dessus, mais ca fait plus de 24h que je cherche une solution pour des problèmes d'accents et c'est vraiment gonflant de perdre autant de temps là dessus...
Merci !
Partager