Определить кодировку по умолчанию для htmlentities () - PullRequest
5 голосов
/ 27 января 2010

Мне было интересно, есть ли способ определить кодировку по умолчанию для <a href="http://www.php.net/htmlentities" rel="noreferrer">htmlentities()</a>. У меня большой проект, который использует htmlentities вызовы повсюду, и мне было интересно, есть ли простой способ установить его из ISO-8859-1 в UTF-8 в качестве кодировки символов по умолчанию, используя что-то простое, например <a href="http://www.php.net/manual/en/function.ini-set.php" rel="noreferrer">init_set</a>. Или, возможно, с отдельным пространством имен декларацией.

Если это не удастся, я не буду против переименования и переопределения функции htmlentities, чтобы всегда использовать Unicode, но не хочу устанавливать что-либо настолько странное (для меня), как PECL apd .

Ответы [ 2 ]

8 голосов
/ 27 января 2010

Поскольку страница руководства ничего не говорит об изменении кодировки по умолчанию, я не думаю, что есть способ сделать это; и я не помню, чтобы когда-либо видел что-либо об этом.

Я бы тоже не использовал ничего похожего на apd - вместо этого я бы, вероятно:

  • создать свою собственную функцию, которая вызывает htmlentities с правильными параметрами
  • и заменять каждый вызов htmlentities вызовом моей новой функции (это, вероятно, можно сделать автоматически, используя несколько строк сценариев)
0 голосов
/ 27 января 2010

@ Решение Pascal MARTIN определенно правильное, вы также можете использовать utf8-encode для преобразования ISO-8859-1 в UTF-8.

И utf8_decode для преобразования UTF-8 в ISO-8859-1.

...