IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Explications sur l'encodage de caractères


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Par défaut Explications sur l'encodage de caractères
    Bonjour à tous,

    Alors voilà j'aurais des petites questions au sujet de l'ajout et la récupération de données en base depuis un formulaire.

    Ma base a un character set à "latin1"

    J'ai un formulaire qui contient un champ "titre"

    J'ai mis le caractère č (appartenant à la norme ISO 8859-2) et lorsque je valide pour l'ajouter en base, dans ma table "abc" sur le champ "titre", j'ai alors le code numérique correspondant au č, à savoir & # 269; (j'ai rajouté des espaces pour montrer le codage numérique). Pour ce qui est des accents, lorsque je mets un é, dans ma base j'ai également son entité html enregistré.

    Je voudrais en fait savoir comment au moment de la récupération avec un script PHP du champ "titre" du formulaire, lorsque j'ajoute ce résultat en base, dans ma table "abc", pour le champs titre, j'ai le codage numérique correspondant au č ?

    Lors de la récupération du "titre" du formulaire avec le script PHP, je ne fais qu'un échappement des caractères spéciaux avec un addslashes sans htmlentities (pour les accents par exemple)

    Si vous pouvez m'expliquer comment PHP ou MySQL arrive à faire cette transformation, je suis tout ouïe !!

    Merci d'avance et bonne journée

  2. #2
    Membre éprouvé Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 865
    Par défaut
    Lors de la récupération du "titre" du formulaire avec le script PHP, je ne fais qu'un échappement des caractères spéciaux avec un addslashes sans htmlentities (pour les accents par exemple)

    Si vous pouvez m'expliquer comment PHP ou MySQL arrive à faire cette transformation, je suis tout ouïe !!
    La réponse à ta question est dans ta question: tu échappe les caractères spéciaux avec PHP htmlentities()
    En fait, contrairement à htmlspecialchars(), htmlentities() encode tous les éléments qui ont un équivalent HTML!!
    Tu as juste à faire un html_entity_decode() en PHP avant d'afficher les informations que tu récupère de ta base.

Discussions similaires

  1. Encodage de caractères et affichage sur une page web
    Par cadoudal56 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/03/2014, 18h36
  2. encodage de caractères : explication corrigé d'exercices
    Par OlympeGeekette dans le forum Linux
    Réponses: 0
    Dernier message: 16/11/2013, 20h22
  3. [MySQL] Problème d'encodage de caractère sur la bdd
    Par monobloclimber dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/03/2012, 09h00
  4. Réponses: 5
    Dernier message: 10/09/2009, 11h37
  5. [RegEx] preg_replace : explications sur les caractères spéciaux
    Par Anduriel dans le forum Langage
    Réponses: 6
    Dernier message: 05/10/2005, 21h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo