5

ファイルを ISO-8859-1 で保存し、コマンドを使用する場合

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

リターンは「test:」のみとなります。

これは、PHP5.4 で htmlspecialchars の標準文字セットが UTF-8 に変更されたためです。文字セットを明示的に設定する必要があります。

echo "test: ".htmlspecialchars("äöü", ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');

PHP5.4 には、文字セットを設定しないと正しく動作しない関数が他にありませんか?

4

2 に答える 2

1

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

とにかく、これら2つは間違いなく「後方互換性のない変更」リストhttp://de3.php.net/manual/de/migration54.incompatible.phpに行くべきだと思います

于 2012-08-01T12:31:44.297 に答える
0

latin1 のレガシー プロジェクトでは、次の手順に従って、htmlspecialchars を自作の関数 htmlXspecialchars に置き換えます

于 2013-05-19T13:11:09.447 に答える