其保存在ISO 8859的文件時,並使用命令哪個字符集考慮從PHP5.2改爲PHP5.4
echo "test: ".htmlspecialchars("äöü");
的回報將是唯一的功能「測試」。
這是因爲在PHP5.4中,htmlspecialchars的標準字符集更改爲UTF-8。您需要明確設置字符集:
echo "test: ".htmlspecialchars("äöü", ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
是否有任何PHP5.4等功能,將無法正常工作了,如果你沒有設置字符集?
我想補充一點:PHP 5.4假設是「PHP 6.0」,它被認爲是完整的UTF- 8,所以在接近未來的時候,所有的函數默認都會設置爲UTF-8。 – 2012-08-01 12:34:56
@DavidBélanger:這非常不準確。從來沒有PHP 6.0和PHP 5.4從未被認爲是PHP 6.0。還有PHP 6.0 - 如果曾經 - 被栓爲UTF-16,而不是UTF-8。 – hakre 2013-04-29 09:53:47
@hakre False。見http://smartwebdeveloper.com/php/php-6-features-release-date-hosting-download – 2013-04-29 13:25:59