Ant*_*oCS 3 php character-encoding html-entities
我真的想表明什么能给我带来什么,但它没有给出欧元; 对于欧元.
我在尝试
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);
Run Code Online (Sandbox Code Playgroud)
我得到了
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');
Run Code Online (Sandbox Code Playgroud)
应该回来
Working htmlentities() now 99€ off!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5915 次 |
| 最近记录: |