htmlspecialchars() в PHP >= 5.4.0

Как известно, у функции htmlspecialchars() есть необязательный параметр $encoding, которым определяется кодировка преобразуемой строки. До версии PHP 5.4.0 значением по умолчанию данного параметра была кодировка «ISO-8859-1«, после 5.4.0 кодировкой по умолчанию стала UTF-8. Таким образом, вызывая функцию как htmlspecialchars($str), где $str — строка в кодировке отличной от UTF-8 (например windows-1251), имеем на выходе пустую строку. Чтобы разрешить данную ситуацию, необходимо указать кодировку передаваемой строки при вызове функции, например вот так:

$str = htmlspecialchars($str, ENT_COMPAT, ‘cp1251’);

Документация: http://php.net/manual/ru/function.htmlspecialchars.php

htmlspecialchars() в PHP >= 5.4.0: 2 комментария

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *