8797 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un soucis concernant l'utilisation de la fonction htmlentities.

Je veux l'appliquer sur une variable de type string de façon à transformer les caractère tel que :
² ---en---> ²
é ---en---> é
etc...

Normalement, c'est justement ce qu'est sencé faire htmlentities

Du coup, je crée un fichier php (j'ai essayé avec notepad et dreamweaver) au format UTF-8 dans lequel je mets ce code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>

<?php

echo htmlentities ('²').'<br />';
echo htmlentities ('é').'<br />';

?>
</body>
</html>


J'ai essayé sur mon serveur local et sur mon hébergement chez OVH, et je n'obtient pas le résultat escompté : http://www.fleuveblanc.com/test3.php

D'où ce problème peut-il venir ?
Modifié par fleuveblanc (09 Oct 2009 - 17:52)
Bonsoir,

Je dirais un problème d'encodage, mais dans php...
htmlentities($str, ENT_COMPAT, 'UTF-8');

Y a sûrement moyen de modifier l'encodage utilisais par php par défaut.
salut

par défaut php utilise iso-8859-1 donc avant echo avec utf-8, utf8_encode().

pour changer l'encodage par défaut, voir setlocale, lire les commentaires.