Добрый день!
Нужна помощь, при редактировании параметров некоторых компонентов (например, bitrix:catalog) получаю ошибку "Не удалось обнаружить код вызова компонента".
Как мне удалось выяснить, это из-за неправильного номера строки в вызове диалога, в моем случае src_line=430, а по факту должна быть 12 строка.
Так же при проверке системы есть 1 ошибка (я думаю она связана с моей проблемой) :[TABLE][TR][TD]Параметры настройки UTF (mbstring и константа BX_UTF)[/TD][TD]
Ошибка! Строковые функции работают некорректно. Такая ситуация может возникать из-за ошибки в PHP 5.6 ([URL=https://bugs.php.net/bug.php?id=68644]https://bugs.php.net/bug.php?id=68644[/URL]), в этом случае надо установить более раннюю или более позднюю версию PHP.[/TD][/TR][/TABLE]При выполнении в командной строке 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>
В phpinfo()[TABLE][TR][TH]Directive[/TH][TH]Local Value[/TH][TH]Master Value[/TH][/TR][TR][TD]mbstring.detect_order[/TD][TD]no value[/TD][TD]no value[/TD][/TR][TR][TD]mbstring.encoding_translation[/TD][TD]Off[/TD][TD]Off[/TD][/TR][TR][TD]mbstring.func_overload[/TD][TD]2[/TD][TD]2[/TD][/TR][TR][TD]mbstring.http_input[/TD][TD]no value[/TD][TD]no value[/TD][/TR][TR][TD]mbstring.http_output[/TD][TD]no value[/TD][TD]no value[/TD][/TR][TR][TD]mbstring.http_output_conv_mimetypes[/TD][TD]^(text/|application/xhtml\+xml)[/TD][TD]^(text/|application/xhtml\+xml)[/TD][/TR][TR][TD]mbstring.internal_encoding[/TD][TD]UTF-8[/TD][TD]UTF-8[/TD][/TR][TR][TD]mbstring.language[/TD][TD]neutral[/TD][TD]neutral[/TD][/TR][TR][TD]mbstring.strict_detection[/TD][TD]Off[/TD][TD]Off[/TD][/TR][TR][TD]mbstring.substitute_character[/TD][TD]no value[/TD][TD]no value[/TD][/TR][/TABLE]Пробовал так же удалять mbstring.internal_encoding и оставлять только default_charset UTF-8 как советуют тут [URL=https://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding]https://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding[/URL], но результат не изменился.
Хостинг: reg.ru
Версия PHP: пробовал 7.0-bx\7.1-bx\7.2-bx
Нужна помощь, при редактировании параметров некоторых компонентов (например, bitrix:catalog) получаю ошибку "Не удалось обнаружить код вызова компонента".
Как мне удалось выяснить, это из-за неправильного номера строки в вызове диалога, в моем случае src_line=430, а по факту должна быть 12 строка.
Так же при проверке системы есть 1 ошибка (я думаю она связана с моей проблемой) :[TABLE][TR][TD]Параметры настройки UTF (mbstring и константа BX_UTF)[/TD][TD]
Ошибка! Строковые функции работают некорректно. Такая ситуация может возникать из-за ошибки в PHP 5.6 ([URL=https://bugs.php.net/bug.php?id=68644]https://bugs.php.net/bug.php?id=68644[/URL]), в этом случае надо установить более раннюю или более позднюю версию PHP.[/TD][/TR][/TABLE]При выполнении в командной строке 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>
В phpinfo()[TABLE][TR][TH]Directive[/TH][TH]Local Value[/TH][TH]Master Value[/TH][/TR][TR][TD]mbstring.detect_order[/TD][TD]no value[/TD][TD]no value[/TD][/TR][TR][TD]mbstring.encoding_translation[/TD][TD]Off[/TD][TD]Off[/TD][/TR][TR][TD]mbstring.func_overload[/TD][TD]2[/TD][TD]2[/TD][/TR][TR][TD]mbstring.http_input[/TD][TD]no value[/TD][TD]no value[/TD][/TR][TR][TD]mbstring.http_output[/TD][TD]no value[/TD][TD]no value[/TD][/TR][TR][TD]mbstring.http_output_conv_mimetypes[/TD][TD]^(text/|application/xhtml\+xml)[/TD][TD]^(text/|application/xhtml\+xml)[/TD][/TR][TR][TD]mbstring.internal_encoding[/TD][TD]UTF-8[/TD][TD]UTF-8[/TD][/TR][TR][TD]mbstring.language[/TD][TD]neutral[/TD][TD]neutral[/TD][/TR][TR][TD]mbstring.strict_detection[/TD][TD]Off[/TD][TD]Off[/TD][/TR][TR][TD]mbstring.substitute_character[/TD][TD]no value[/TD][TD]no value[/TD][/TR][/TABLE]Пробовал так же удалять mbstring.internal_encoding и оставлять только default_charset UTF-8 как советуют тут [URL=https://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding]https://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding[/URL], но результат не изменился.
Хостинг: reg.ru
Версия PHP: пробовал 7.0-bx\7.1-bx\7.2-bx