将文件保存在ISO-8859-1中并使用命令时

echo "test: ".htmlspecialchars("äöü");

返回将仅是“test:”。

这是因为htmlspecialchars的标准字符集在PHP5.4中更改为UTF-8。您需要显式设置字符集:
echo "test: ".htmlspecialchars("äöü", ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');

如果没有设置字符集,PHP5.4中是否还有其他功能将无法正常工作?

最佳答案

htmlentities似乎是另一个已更改的功能:http://de3.php.net/manual/de/migration54.other.php

PHP 5.2-> 5.3的迁移指南不再提供其他功能来更改默认字符集:http://de3.php.net/manual/de/migration53.php

所以大概只有htmlspecialchars()htmlentities
无论如何,我认为这两个绝对应该转到“向后不兼容的更改”列表http://de3.php.net/manual/de/migration54.incompatible.php

关于php - 哪些考虑功能的字符集从PHP5.2更改为PHP5.4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11757274/

10-13 07:17