Résolu MySQL/PHP + UTF8 + accents

  • Auteur de la discussion Iznogood
  • Date de début

Iznogood

Expert
Hello à tous,

Après avoir fait le tour d'au moins 50 topics différents sur le net et toujours aucune solution qui fonctionne je me retourne vers vous !

J'ai un formulaire php qui enregistre des données dans une BDD MySQL.

Mon problème : tous les accents ou caractères "bizarres" ressortent mal (SPAÑOLA par exemple au lieu de spañola, allÉe au lieu de allée etc)

Mon formulaire PHP a un encodage UTF8, ma DB a un interclassement UTF8 et chaque champs également.

J'enregistre les données du formulaire comme ceci :
Code:
$_SESSION['coordonnees']['adresse'] = strtoupper(trim(htmlentities($_POST['address1'],ENT_NOQUOTES,'UTF-8')));

puis les insère dans la DB. Quand je consulte dans PHPMyAdmin les caractères apparaissent mal ainsi que si je les lis depuis un script PHP.

Help :cry:
 

maverick911

Expert
Meilleure réponse
Bonjour,

Rien à voir avec l'encoding.
La fonction htmlentities que vous utilisez convertit les caractères spéciaux en code HTML.
Le texte ressort bien lors de l'affichage des données dans une page, mais pas dans un textfield.

Au moment d'exploiter les données, utilisez la fonction html_entity_decode() pour reconvertir les codes HTML en caractères spéciaux.

Bien que la solution que je vous conseille est de ne pas utiliser htmlentities lors de l'ajout dans la base, mais plutôt lors de l'exploitation des données si besoin est.
 

Iznogood

Expert
En effet, en enlevant le htmlentities() tout fonctionne !

Merci beaucoup :)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 004
Membres
1 586 388
Dernier membre
mery2005
Partager cette page
Haut