Page 1 sur 1

Signe euro non pris en compte par htmlentities

Posté : 25 juin 2009, 15:13
par akrogames
Bonjour,

Le signe euro n'est pas convertit en html dans ma page avec cette ligne de code.
Dans ma table le charset est le suivant : utf8_general_ci

dans unite_critere il y a le signe € et après la conversion il y a un ? à la place de l'euro.

Quand je rentre ce code :

Code : Tout sélectionner

$libCri = htmlentities($row['libelle_critere'],ENT_QUOTES,"ISO-8859-15");
Cela m'affiche les accents et tous correctement sauf l'euro...

Et quand je rentre ce code :

Code : Tout sélectionner

$libCri = htmlentities($row['libelle_critere'],ENT_QUOTES,"UTF-8");
Plus rien ne s'affiche... Alors que dans ma base c'est de l'UTF8 je comprend pas je suis perdu là...

Alors force de désespérance, je me dit qu'il existe le double encode dans htmlentities alors je rentre le € dans le champ où il y a l'euro à convertir. Mais quand je met ce code :

Code : Tout sélectionner

$uniCri = htmlentities($row['unite_critere'],ENT_QUOTES,'UTF-8','true');
Il me convertit quand même le € ... alors moi je comprend plus désolé...


Vous comprenez quelque chose ?

A bientôt et merci à vous

Posté : 25 juin 2009, 15:27
par Victor BRITO
Si, à la base, tu utilises l'UTF-8, pourquoi convertir le symbole de l'euro en entité HTML ? :?

Posté : 25 juin 2009, 15:42
par akrogames
Car le signe € ne s'affiche pas... Rien ne s'affiche...

Posté : 25 juin 2009, 16:33
par Victor BRITO
Normalement, le symbole € fait partie des caractères pris en charge par l'UTF-8. Vérifie si ton fichier est bien édité en UTF-8.

Posté : 25 juin 2009, 16:52
par akrogames
C'est pas un fichier mais un champ d'une table... Mais je dois faire un htmlentities car il y a des accents dans le texte et des euros.

Pourquoi htmlentities ne marche pas quand je met le charset en UTF-8 ?

Posté : 25 juin 2009, 17:08
par Victor BRITO
La fonction htmlentities(), tu l'appelles bien dans un fichier PHP, non ? ;)

Posté : 25 juin 2009, 20:01
par Invité
Ok je vais vérifier cela.

Posté : 25 juin 2009, 21:12
par AB
Ou essayes htmlspecialchars() à la place de htmlentities(), c'est plus commode quand on travaille en utf8.

Sinon il y a un tuto sur l'encodage utf-8 ici