Domanda

Sto davvero cercando di mostrare cosa mi dà htmlentities, ma non dà & amp; Euro; per il carattere €.

Ci sto provando

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);

e per entrambi ottengo

LISBOA-VIENA DESDE 99 € IVA INCLUSA & amp; Iacute; DAS, RESERVE J & amp; Aacute;

LISBOA-VIENA DESDE 99 € IVA INCLUSA & amp; Iacute; DAS, RESERVE J & amp; Aacute;

Non ricevo mai un & amp; di euro;

Qualcuno sa come farlo bene?

È stato utile?

Soluzione

Questo è discusso qui ; sembra che € ( & amp; # 8364; ) funzioni spesso.

Altri suggerimenti

Qual è la codifica del file originale del file in cui si usano queste istruzioni?

Se sei su Windows è molto probabile che il file sia codificato con Windows-1252 (CP1252) e non in ISO-8859-1 , < a href = "http://en.wikipedia.org/wiki/ISO/IEC_8859-15" rel = "nofollow noreferrer"> ISO-8859-2 o UTF-8 .

Il segno è 0x80 in Windows-1252, ISO-8859-15 codifica il segno con 0xA4 mentre ISO-8859-1 non ha del tutto un segno ( vedi risposta di Aron Rotteveel). Devi assicurarti di passare il set di caratteri corretto utilizzato per la stringa in htmlentities () . La migliore pratica sarebbe quella di utilizzare la codifica UTF-8 per tutti i tuoi file.

Se htmlentities (" LISBOA-VIENA DESDE 99 € TAXAS INCLUÍDAS, RESERVE JÁ ", ENT_COMPAT, 'Windows-1252') funziona, allora stai usando il set di caratteri CP1252.

Ho anche notato che mancano le virgolette intorno ai set di caratteri nell'esempio sopra. Questo potrebbe anche essere la causa di problemi.

Usa ISO-8859-15 invece di ISO-8859-1 .

ISO-8859-15 (ISO Latin 9) differisce da ISO-8859-1 (ISO Latin 1) e aggiunge il simbolo dell'euro e mancano le lettere francese e finlandese in Latin-1 (ISO-8859-1) .

echo htmlentities('Working htmlentities() now 99€ off!', ENT_COMPAT, 'ISO-8859-15');

dovrebbe tornare

Working htmlentities() now 99&euro; off!
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top