Здравствуйте.
У меня не вопрос, а просто информация для коллег:
В новой версии Битрикса все вызовы htmlspecialchars заменили на свою функцию htmlspecialcharsbx (в том числе в /bitrix/modules/catalog/load/yandex.php), что привело к ошибке в выгрузке.Приведу коротенькую функцию-прослойку:
У меня сайт на UTF-8 и установлено
Не знаю, в чем проблема (может это как-то связано с тем, что выходной файл выгрузки все-таки в кодировке windows-1251, а может внутренний вызов htmlspecialchars c параметрами (defined("BX_UTF" ;) ? "UTF-8" : "ISO-8859-1" ;) некорректно обрабатывает русские символы), но все названия и описания на русском языке в выгрузке просто отсутствуют (вместо них пустота).
При замене на старую функцию htmlspecialchars ВСЕ РАБОТАЕТ.
У меня не вопрос, а просто информация для коллег:
В новой версии Битрикса все вызовы htmlspecialchars заменили на свою функцию htmlspecialcharsbx (в том числе в /bitrix/modules/catalog/load/yandex.php), что привело к ошибке в выгрузке.Приведу коротенькую функцию-прослойку:
Код |
---|
function htmlspecialcharsbx($string, $flags=ENT_COMPAT) { //shitty function for php 5.4 where default encoding is UTF-8 return htmlspecialchars($string, $flags, (defined("BX_UTF")? "UTF-8" : "ISO-8859-1")); } |
Код |
---|
define("BX_UTF", true); |
При замене на старую функцию htmlspecialchars ВСЕ РАБОТАЕТ.