Encodage smiley

Fermé
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024 - 11 févr. 2020 à 15:22
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024 - 11 févr. 2020 à 16:43
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

A voir également:

2 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
11 févr. 2020 à 15:37
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 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024
11 févr. 2020 à 15:45
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
11 févr. 2020 à 15:59
Et dans le code source HTML de ta page ?
0
delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024 > Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021
11 févr. 2020 à 16:24
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011 > delaville81 Messages postés 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024
11 févr. 2020 à 16:31
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 188 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 12 avril 2024 > Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021
Modifié le 11 févr. 2020 à 16:51
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