获得€与htmlentities
-
03-07-2019 - |
题
我真的想表明什么能给我带来什么,但它并没有给予我和欧元;对于€字符。
我正在尝试
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);
我得到了
LISBOA-VIENA DESDE 99&#8364; TAXAS INCLU&amp; Iacute; DAS,RESERVE J&amp; Aacute;
LISBOA-VIENA DESDE 99&#8364; TAXAS INCLU&amp; Iacute; DAS,RESERVE J&amp; Aacute;
我从未得到过&amp;欧元;
任何人都知道如何做到这一点?
解决方案
此处讨论了这个问题。好像&#8364; (&amp;#8364;
)经常有效。
其他提示
使用这些语句的文件的原始文件编码是什么?
如果你在Windows上,那么文件的编码很可能是用 Windows-1252 (CP1252)而不是 ISO-8859-1 ,< a href =“http://en.wikipedia.org/wiki/ISO/IEC_8859-15"rel =”nofollow noreferrer“> ISO-8859-2 或 UTF-8 。
Windows-1252中的&#8364;
符号为 0x80
,ISO-8859-15对&#8364;
符号进行编码 0xA4
,而ISO-8859-1完全没有&#8364;
符号(查看答案。
您必须确保将用于字符串的正确字符集传递给 htmlentities()
一>。最佳做法是对所有文件使用UTF-8编码。
如果 htmlentities(“LISBOA-VIENA DESDE 99&#8364; TAXAS INCLU&#205; DAS,RESERVE J&#193;”,ENT_COMPAT,'Windows-1252')
有效,那么你'重新使用CP1252字符集。
我还注意到您在上面示例中的字符集周围缺少引号。这也可能是麻烦的原因。
使用 ISO-8859-15
代替 ISO-8859-1
。
ISO-8859-15(ISO Latin 9)
与 ISO-8859-1(ISO Latin 1)
不同,并添加欧元符号以及缺少法文和芬兰文字母在 Latin-1(ISO-8859-1)
。
echo htmlentities('Working htmlentities() now 99€ off!', ENT_COMPAT, 'ISO-8859-15');
应该返回
Working htmlentities() now 99€ off!