Добрый день! Нужна помощь, при редактировании параметров некоторых компонентов (например, bitrix:catalog) получаю ошибку "Не удалось обнаружить код вызова компонента". Как мне удалось выяснить, это из-за неправильного номера строки в вызове диалога, в моем случае src_line=430, а по факту должна быть 12 строка. Так же при проверке системы есть 1 ошибка (я думаю она связана с моей проблемой) :
Параметры настройки UTF (mbstring и константа BX_UTF)
Ошибка! Строковые функции работают некорректно. Такая ситуация может возникать из-за ошибки в PHP 5.6 (https://bugs.php.net/bug.php?id=68644), в этом случае надо установить более раннюю или более позднюю версию PHP.
При выполнении в командной строке PHP #mb_internal_encoding('utf-8'); echo "strlen = ".strlen("абв")."\n" ; echo "mb_strlen = ".mb_strlen ("абв")."\n"; Результат: strlen = 6 mb_strlen = 6, а если раскомментировать 1 строку, то везде 3
Долго гуглил и пробовал все варианты: Добавил mb_internal_encoding('utf-8'); в /local/php_interface/init.php В /bitrix/php_interface/dbconn.php есть строка define('BX_UTF', true); LANG_CHARSET и SITE_CHARSET = UTF-8
В php.ini прописано: mbstring.internal_encoding=UTF-8 mbstring.func_overload=2 default_charset=utf-8
Даже в .htaccess добавил на всякий случай: <IfModule mod_php7.c> php_flag session.use_trans_sid on php_value mbstring.func_overload 2 php_value mbstring.internal_encoding UTF-8 php_value default_charset UTF-8 </IfModule>
Я бы посоветовал еще раз попробовать на PHP версии 7.2 или даже выше, если доступно на сервере. Настроить все как положено, и посмотреть что будет в "UTF (mbstring и константа BX_UTF)".
Денис Сон, я все пробовал на 7.2 (максимальная доступная версия). BX_UTF у меня установлена в true mbstring.func_overload 2 mbstring.internal_encoding ставил в UTF-8 и пробовал оставлять путсую.