Encodage smiley

delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   -  
delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   -
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

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
0
delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Et dans le code source HTML de ta page ?
0
delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   > Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention  
 
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>
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011 > delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   > Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention  
 
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
0