Accepter les smileys dans un formulaire

Résolu/Fermé
DMT - 4 mai 2023 à 16:47
 DMT - 4 mai 2023 à 19:30

Bonjour à tous j'espère que vous allez bien.

J'ai un problème avec un formulaire en PHP. En effet je voudrais accepter les smileys qui sont vraiment importants pour exprimer les émotions. 

En fait lorsqu'on les entre dans le formulaire, il n'y a pas insertion en base de données. En effet, ils ne sont pas acceptés car lorsque j'envoie sans les smileys, il y a insertion. 

Je vous donne le code d'insertion que j'ai fait :

<?php
include_once('config.php');


if(isset($_POST['message'])){






    $message1 = $_POST['message'];
   
    $chars = array(":)"); // C'est un test que je fais ici avec le smiley simple qui sourit que j'entre dans le formulaire. Il doir normalement se convertir en :)
    $icons = array("&#128578;"); // Ici je le remplace par sa representation dessin
    $message = str_replace($chars,$icons,$message1);




    $req = $bdd->prepare('INSERT into emoji (message) value (:message) '); 
    $req ->execute(array(
        'message' => $message
    ));

}


   $sms = $bdd ->prepare('SELECT message from emoji');
   $sms -> execute();
   
   while($row = $sms ->fetch()){

  echo htmlspecialchars($row['message']);



   }






?>

Voici le script de la connexion en base de données :

<?php
try{
    $bdd = new PDO('mysql:host=localhost;dbname=mabasededonnees;charset=utf8;', 'root', 'root');
}catch(Exception $e){
    die('Une erreur a été trouvée : ' . $e->getMessage());
}
?>

1 réponse

Le problème a déjà été résolu.

Il fallait mettre utf8mb4 dans la connexion à la base de données et aux interclasses de toutes les tables où vous désirez avoir des smileys. ???? 

J'espère que cette réponse aidera d'autres personnes.

À bientôt !

0