Başlarken, ¬ Htmlentities ile

3 Cevap php

Gerçekten htmlentities verir bana ne göstermek için çalışıyorum, ama & vermez euro; € karakteri için.

Ben çalışıyorum

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

ve her ikisi için alıyorum

LISBOA-VIENA DESDE 99 € TAXAS Inclu & Iacute, DAS, REZERV J & Aacute;

LISBOA-VIENA DESDE 99 € TAXAS Inclu & Iacute, DAS, REZERV J & Aacute;

Ben & asla euro;

Herkes bu hakkı almak için nasıl biliyor?

3 Cevap

Bu tartışılmıştır here; o (&#8364;) çoğu zaman çalışır € görünmektedir.

Eğer bu ifadeleri kullanmak hangi dosyanın orijinal dosya kodlama nedir?

Windows üzerinde iseniz şansı ISO-8859-2, dosya Windows-1252 (CP1252) ile kodlanmış yüksek değil ISO-8859-1 olan veya {[(3)] }.

The sign is 0x80 in Windows-1252, ISO-8859-15 encodes the sign with 0xA4 while ISO-8859-1 doesn't have a sign altogether (see answer from Aron Rotteveel). You must ensure that you pass the correct charset used for the string into htmlentities(). Best practice would be to use UTF-8 encoding for all of your files.

htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,'Windows-1252') çalışırsa o zaman CP1252 charset kullanıyorsunuz.

I also just noticed that you're missing quotes around the charsets in your example above. This could also be the cause of trouble.

ISO-8859-15 yerine ISO-8859-1 arasında kullanın.

ISO-8859-15 (ISO Latin 9) ISO-8859-1 (ISO Latin 1) farklıdır ve Euro işareti ve Latin-1 (ISO-8859-1) eksik Fransızca ve Fince harfler ekler.

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

dönmelidir

Working htmlentities() now 99&euro; off!