Encodage smiley

Signaler
Messages postés
119
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
20 février 2020
-
delaville81
Messages postés
119
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
20 février 2020
-
Bonjour,
Je suis actuellement en train de développer un blog.
Pour le rendre un peu plus attrayant j'ai mis en place la possibilité d'insérer des smiley dans un <textarea>.
J'ai utilisé un script jQuery que j'ai trouvé (je ne sais plus où) et qui fonctionne. Les smileys d'affiche bien dans mon <textarea> mais en base de données les smileys sautent. Seul le texte est enregistré.

Les smileys sont écrits sous la forme : & # x 1F642 (sans les espaces)



Mon PHP
$sql_insert = "INSERT INTO sujet (id_user, date, texte_sujet) values (:id_user, :date, :texte_sujet)";
        $stmt = $pdo->prepare($sql_insert);
        
        $date_sujet = date("Y-m-d H:m:s");	
        $id_user = $_SESSION['id_user'];
        $text = $_POST['subject'];			
        $timeStamp = time();
        $nb = $stmt->execute(array(':id_user'=>$id_user, ':date'=>$date_sujet, ':texte_sujet'=>$text));	
        $last_id = $pdo->lastInsertId();


je cherche le moyen de pouvoir les enregistrer

Merci de votre aide


Configuration: Macintosh / Safari 12.1.1

2 réponses

Messages postés
3571
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
20 février 2020
934
Bonjour,

Il n'est pas choquant que les smileys soient enregistrés sous cette forme.
La question, c'est surtout lorsque tu affiches un texte issu de ta base, qu'est-ce que tu vois ? À l'écran, et dans le code source HTML de la page web ?

Xavier
Messages postés
119
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
20 février 2020

Xavier,
Merci de ta réponse.
Dans la base et à l'écran je ne voie rien. les smileys ne passent pas à l'enregistrement.
Le première image envoyée était ce que j'ai à l'écran quand je tape un texte.
Reivax962
Messages postés
3571
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
20 février 2020
934
Et dans le code source HTML de ta page ?
delaville81
Messages postés
119
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
20 février 2020
> Reivax962
Messages postés
3571
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
20 février 2020

Vu que c n'est pas enregistré, je ne peux pas voir ce qui est inscrit

<textarea class="textarea-subject" name="subject" id="subject" rows="3"></textarea>
Reivax962
Messages postés
3571
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
20 février 2020
934 > delaville81
Messages postés
119
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
20 février 2020

Pardon j'avais mal compris cette phrase
Les smileys sont écrits sous la forme : & # x 1F642 (sans les espaces) 
, j'avais cru que tu voyais ça en base.

Bon, du coup, avant ton insert, essaie de faire :
echo "<pre>";
print_r($text);
echo "</pre>";

et regarde ce qui s'affiche.

Xavier
delaville81
Messages postés
119
Date d'inscription
jeudi 6 novembre 2008
Statut
Membre
Dernière intervention
20 février 2020
> Reivax962
Messages postés
3571
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
20 février 2020

Ca me retourne : Teste 🙂

Teste est ce que j'avais écrit avant le smileys.

J'avais testé de mette en dur la forme hexadécimale dans la BDD, il s'affiche bien