我真的想表明什么能给我带来什么,但它没有给出欧元; 对于欧元.
我在尝试
echo htmlentities(htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,ISO-8859-1),ENT_COMPAT,ISO-8859-1); echo '
'; echo htmlentities(htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,UTF-8),ENT_COMPAT,UTF-8);
我得到了
LISBOA-VIENA DESDE 99€TAXAS INCLUÍ DAS,RESERVE JÁ
LISBOA-VIENA DESDE 99€TAXAS INCLUÍ DAS,RESERVE JÁ
我从来没有得到过欧元;
谁知道如何做到这一点?
您使用这些语句的文件的原始文件编码是什么?
如果您使用Windows,则文件使用Windows-1252(CP1252)进行编码,而不是使用ISO-8859-1,ISO-8859-2或UTF-8进行编码.
该€
标志是0x80
在Windows-1252,ISO-8859-15编码€
与符号0xA4
,而ISO-8859-1没有€
迹象共(见答案来自阿隆Rotteveel).您必须确保将用于字符串的正确字符集传递给htmlentities()
.最佳做法是对所有文件使用UTF-8编码.
如果htmlentities("LISBOA-VIENA DESDE 99€ TAXAS INCLUÍDAS, RESERVE JÁ",ENT_COMPAT,'Windows-1252')
有效,那么你正在使用CP1252字符集.
我还注意到你在上面例子中的charsets周围缺少引号.这也可能是麻烦的原因.
用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!