PHP Contribution


Exemple

  • Vous devez vérifier chaque chaîne reçue comme étant UTF-8 valide avant d'essayer de la stocker ou de l'utiliser partout. mb_check_encoding() de PHP fait l'affaire, mais vous devez l'utiliser systématiquement. Il n'y a vraiment aucun moyen de contourner cela, car les clients malveillants peuvent soumettre des données quel que soit l'encodage souhaité.

    $string = $_REQUEST['user_comment'];
    if (!mb_check_encoding($string, 'UTF-8')) {
        // the string is not UTF-8, so re-encode it.
        $actualEncoding = mb_detect_encoding($string);
        $string = mb_convert_encoding($string, 'UTF-8', $actualEncoding);
    }
    
  • Si vous utilisez HTML5, vous pouvez ignorer ce dernier point. Vous voulez que toutes les données envoyées par les navigateurs soient dans UTF-8. La seule façon fiable de le faire est d’ajouter l’attribut accept-charset à toutes les balises <form> comme suit:

    <form action="somepage.php" accept-charset="UTF-8">