Signe euro non pris en compte par htmlentities

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Signe euro non pris en compte par htmlentities

par AB » 25 juin 2009, 21:12

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

par Invité » 25 juin 2009, 20:01

Ok je vais vérifier cela.

par Victor BRITO » 25 juin 2009, 17:08

La fonction htmlentities(), tu l'appelles bien dans un fichier PHP, non ? ;)

par akrogames » 25 juin 2009, 16:52

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 ?

par Victor BRITO » 25 juin 2009, 16:33

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.

par akrogames » 25 juin 2009, 15:42

Car le signe € ne s'affiche pas... Rien ne s'affiche...

par Victor BRITO » 25 juin 2009, 15:27

Si, à la base, tu utilises l'UTF-8, pourquoi convertir le symbole de l'euro en entité HTML ? :?

Signe euro non pris en compte par htmlentities

par akrogames » 25 juin 2009, 15:13

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