htmlentities et ISO-8859-15

Mammouth du PHP | 843 Messages

22 mars 2007, 21:08

salut à tous :)

je cherche à convertir tous les caractères d'une chaines en entitées html.
mon problème est que je n'arrive pas à faire en sorte d'utiliser ISO-8859-15 plutôt que ISO-8859-1 afin d'y inclure le signe euro.

je fait comme ceci:
$html_description = htmlentities($description,ENT_QUOTES,'ISO-8859-15');
tous les caractère speciaux sont transcrit mais pas euro :(

si quelqu'un à une idée ;)
merci d'avance.
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Petibidon en vadrouille
Invité n'ayant pas de compte PHPfrance

22 mars 2007, 23:51

hello,

tout pareil !
j'ai jamais réussi à avoir le symbole euro avec l'ISO 8859-15...
par contre avec le 8859-1 j'ai jamais eu de soucis de ce coté là..
c'est pas très logique alors je me dis que je dois etre un cas social :\

si quelqu'un a une explication ?

Mammouth du PHP | 843 Messages

23 mars 2007, 18:57

j'ai beau regarder de tout les cotés mais rien à faire :?

si quelqu'un à une idée ;)
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Eléphant du PHP | 170 Messages

23 mars 2007, 19:07

<?php
$chiane='Prix en €';
echo htmlentitie(str_replace('€','&euro;',$chaine));
?>
Benjamin Franklin a dit :
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends

Mammouth du PHP | 505 Messages

23 mars 2007, 20:54

Expreg, si tu le fais dans cet ordre, a la sortie, la chaine 100€ va contenir

100&euro;

c'est pas vraiment ce qui est voulu

il faut le faire le htmlentities avant le str_replace.
Ceci étant dit, je pense que les personnes ci dessus avaient déjà pensés a ce paliatif mais cherchent a comprendre pourquoi la fonction htmlentities qui est censé faire ca nativement ne le fait pas...

Petibidon en vadrouille
Invité n'ayant pas de compte PHPfrance

23 mars 2007, 21:41

hello,

petite précision : le probleme que j'ai eu à ce niveau n'est pas avec htmlentities mais tout betement en html, en déclarant un charset 8859-1, tout passe sans probleme alors qu'en déclarant un charset 8859-15, pas de symbole euro.

c'est completement illogique... mais je dois avouer que j'ai pas plus approfondi le probleme que ca.

Eléphant du PHP | 170 Messages

23 mars 2007, 23:56

il faut le faire le htmlentities avant le str_replace.
Merci, je ne le savais pas ! :?
J'ai juste mis le htmlentities pour visualiser le résultat et pour rien d'autre.
Benjamin Franklin a dit :
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends

Mammouth du PHP | 843 Messages

24 mars 2007, 18:02

pour le moment je fait sans le € et avec str_replace.

mais si quelqu'un voit pour utilisé le iso-8859-15 avec htmlentities ;)
merci d'avance
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non: