Obtener el & # 8364; con htmlentities
-
03-07-2019 - |
Pregunta
Realmente estoy tratando de mostrar lo que htmlentities me da, pero no da & amp; euro; para el & # 8364; personaje.
Estoy intentando
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);
y para ambos obtengo
LISBOA-VIENA DESDE 99 & # 8364; TAXAS INCLU & amp; Iacute; DAS, RESERVA J & amp; Aacute;
LISBOA-VIENA DESDE 99 & # 8364; TAXAS INCLU & amp; Iacute; DAS, RESERVA J & amp; Aacute;
Nunca obtengo un & amp; euro;
¿Alguien sabe cómo hacerlo bien?
Solución
Esto se discute aquí ; parece que € ( & amp; # 8364;
) funciona a menudo.
Otros consejos
¿Cuál es la codificación del archivo original del archivo en el que usa estas declaraciones?
Si tiene Windows, es muy probable que el archivo esté codificado con Windows-1252 (CP1252) y no en ISO-8859-1 , < a href = "http://en.wikipedia.org/wiki/ISO/IEC_8859-15" rel = "nofollow noreferrer"> ISO-8859-2 o UTF-8 .
El signo €
es 0x80
en Windows-1252, ISO-8859-15 codifica el signo €
con 0xA4
mientras que ISO-8859-1 no tiene un signo €
por completo ( ver respuesta de Aron Rotteveel).
Debe asegurarse de pasar el juego de caracteres correcto utilizado para la cadena en htmlentities ()
. La mejor práctica sería utilizar la codificación UTF-8 para todos sus archivos.
Si htmlentities (" LISBOA-VIENA DESDE 99 € TAXAS INCLUÍDAS, RESERVE JÁ ", ENT_COMPAT, 'Windows-1252')
funciona, entonces está usando el conjunto de caracteres CP1252.
También me di cuenta de que te faltan citas en los conjuntos de caracteres en tu ejemplo anterior. Esto también podría ser la causa de problemas.
Utilice ISO-8859-15
en lugar de ISO-8859-1
.
ISO-8859-15 (ISO Latin 9)
difiere de ISO-8859-1 (ISO Latin 1)
y agrega el signo del Euro y faltan letras francesas y finlandesas en Latin-1 (ISO-8859-1)
.
echo htmlentities('Working htmlentities() now 99€ off!', ENT_COMPAT, 'ISO-8859-15');
debería regresar
Working htmlentities() now 99€ off!