comment faire pour insérer un caractère spécial dans mysql via php et de les afficher sur la page html

comment insérer des caractères spéciaux dans une base de données(MySQL) comme

Registered symbol ( ® ) OU
Copyright sign ( © ) OU
Trade Mark sign ( ™ )

Aussi, je veux que l'affichage initial de la page html.

Ce que je dois faire dans les deux côté (front-end et back-end), veuillez préciser

Dont la fonction est plus efficace?

Méthode 1:

$_GET = array_map('trim', $_GET);
$_POST = array_map('trim', $_POST);

if(get_magic_quotes_gpc()){
  $_GET = array_map('stripslashes', $_GET);
  $_POST = array_map('stripslashes', $_POST);  

  $_GET = array_map('strip_tags', $_GET);
  $_POST = array_map('strip_tags', $_POST);  
 }
 else{
  $_GET = array_map('mysql_real_escape_string', $_GET);
  $_POST = array_map('mysql_real_escape_string', $_POST);   
 }

Méthode 2:

  foreach ($_POST as $key=>$value){
        if (!get_magic_quotes_gpc()) {
          return addslashes(htmlentities(strip_tags($value),ENT_QUOTES,'UTF-8'));
          } 
          else {
             return htmlentities(strip_tags($value),ENT_QUOTES,'UTF-8');
          }
  }

Je suis un peu confus quelle est la différence entre

htmlentities() et htlspecialchars(), et qui-je utiliser?

laquelle la fonction doit être utilisée addslashes() ou stripslashes() lors de l'insertion dans la base de données?

OriginalL'auteur diEcho | 2010-01-23