Obtenir le € avec htmlentities
-
03-07-2019 - |
Question
J'essaie vraiment de montrer ce que l’intention me donne, mais cela ne donne pas & amp; euro; pour le caractère €.
j'essaie
echo htmlentities(htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,ISO-8859-1),ENT_COMPAT,ISO-8859-1);
echo '<br>';
echo htmlentities(htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,UTF-8),ENT_COMPAT,UTF-8);
et pour les deux je reçois
LISBOA-VIENA DESDE 99 € TAXAS INCLU & amp; Iacute; DAS, RESERVE J & amp; Aacute;
LISBOA-VIENA DESDE 99 € TAXAS INCLU & amp; Iacute; DAS, RESERVE J & amp; Aacute;
Je ne reçois jamais un & amp; euro;
Quelqu'un sait-il comment y arriver?
La solution
C’est discuté ici ; il semble que € ( & # 8364;
) fonctionne souvent.
Autres conseils
Quel est l'encodage d'origine du fichier dans lequel vous utilisez ces instructions?
Si vous utilisez Windows, il y a de fortes chances que le fichier soit codé avec Windows-1252 (CP1252) et non dans ISO-8859-1 , < a href = "http://en.wikipedia.org/wiki/ISO/IEC_8859-15" rel = "nofollow noreferrer"> ISO-8859-2 ou UTF-8 .
Le signe & # 8364;
est 0x80
dans Windows-1252, ISO-8859-15 code le signe & # 8364;
avec 0xA4
alors qu'ISO-8859-1 n'a pas de signe & # 8364;
( voir la réponse de Aron Rotteveel).
Vous devez vous assurer de transmettre le jeu de caractères correct utilisé pour la chaîne dans htmlentities ()
a>. La meilleure pratique consiste à utiliser le codage UTF-8 pour tous vos fichiers.
Si htmlentities ("LISBOA-VIENA DESDE 99 & # 8364; TAXAS INCLU & # 205; DAS, RESERVE J", ENT_COMPAT, 'Windows-1252')
vous fonctionne alors ' utilisez le jeu de caractères CP1252.
Je viens également de remarquer qu'il vous manque des guillemets autour des jeux de caractères de votre exemple ci-dessus. Cela pourrait également être la cause de problèmes.
Utilisez ISO-8859-15
au lieu de ISO-8859-1
.
ISO-8859-15 (ISO Latin 9)
diffère de ISO-8859-1 (ISO Latin 1)
et ajoute le symbole de l'euro et les lettres française et finlandaise manquantes. dans Latin-1 (ISO-8859-1)
.
echo htmlentities('Working htmlentities() now 99€ off!', ENT_COMPAT, 'ISO-8859-15');
devrait retourner
Working htmlentities() now 99€ off!