Obtendo a € com htmlentities

votos
3

Estou realmente tentando mostrar o que htmlentities me dá, mas não dá & euro; para o personagem €.

eu estou tentando

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 tanto para eu chegar

LISBOA-Vienna from 99 € TAXAS inclu & iacute; DAS, RESERVA J & aacute;

LISBOA-Vienna from 99 € TAXAS inclu & iacute; DAS, RESERVA J & aacute;

Eu nunca obter um & euro;

Alguém sabe como obter este direito?

Publicado 06/01/2009 em 12:21
fonte usuário
Em outras línguas...                            


3 respostas

votos
8

O que é a codificação do arquivo original do arquivo no qual você usa estas declarações?

Se você estiver em chances do Windows são altas que o arquivo é codificado com o Windows-1252 (CP1252) e não em ISO-8859-1 , ISO-8859-2 ou UTF-8 .

O sinal é 0x80no Windows-1252, ISO-8859-15 codifica o sinal com 0xA4enquanto ISO-8859-1 não tem um sinal completamente ( ver resposta de Aron Rotteveel). Você deve garantir que você passar o charset correto utilizado para a string em htmlentities(). A melhor prática seria a utilização de codificação UTF-8 para todos os seus arquivos.

Se htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,'Windows-1252')funciona, então você está usando o charset CP1252.

Eu também notei que você está faltando aspas em torno de conjuntos de caracteres no seu exemplo acima. Esta também poderia ser a causa do problema.

Respondeu 06/01/2009 em 13:58
fonte usuário

votos
6

Use ISO-8859-15em vez de ISO-8859-1.

ISO-8859-15 (ISO Latin 9)difere ISO-8859-1 (ISO Latin 1)e adiciona o símbolo do Euro e letras francesas e finlandesas faltando em Latin-1 (ISO-8859-1).

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

deve retornar

Working htmlentities() now 99&euro; off!
Respondeu 06/01/2009 em 12:35
fonte usuário

votos
1

Isto é discutido aqui ; parece € ( &#8364;) trabalha frequentemente.

Respondeu 06/01/2009 em 12:36
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more