Se connecter avec
S'enregistrer | Connectez-vous

MySQL/PHP + UTF8 + accents

Dernière réponse : dans Programmation

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 :
  1. $_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: 

Autres pages sur : mysql php utf8 accents

Lassé par la pub ? Créez un compte

Meilleure solution

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.
Lassé par la pub ? Créez un compte