It's not possible to change it in perdir configs anymore. Fix for bug #43227 changed this. Apparently Rui forgot to document it..smile:)
Вот собственно и вся новость. Думаю, что она будет полезна многим и снимет ряд вопросов. У себя будем откатываться назад на PHP 5.2.6
UPDATED: подошло решение из комментариев. Принудительно включили глобально mbstring.func_overload =2, поставили по умолчанию кодировку 1251, а на нужных сайтах включили через .htaccess utf8.
Печальный сюрприз. Однако, в баге идёт речь об изменение опции на уровне PHP_INI_PERDIR. Тем не менее опция "mbstring.func_overload" может быть изменена вплоть до уровня PHP_INI_SYSTEM включительно. Другими словами проблему может решить добавление функции ini_set('mbstring.func_overload', '2') куда-нибудь в /bitrix/php_interface/init.php.
До версии PHP 5.2.8 можно было переопределять настройку mbstring.func_overload для каждого хоста или папки, часто при таких настройках mbstring начинал сбоить и путать эту опцию между хостами.
В PHP с версии 5.2.8 исправили эту ошибку оригинальным способом. Теперь этот параметр можно использовать только в php.ini. Поэтому, если у вас есть utf-8 сайты, то этот параметр (mbstring.func_overload =2) должен располагаться в php.ini, а в настройках хоста или корневом .htaccess параметр mbstring.internal_encoding с правильной кодировкой сайта (utf-8 или, например, windows-1251).
(mbstring.func_overload =2) должен располагаться в php.ini,
А как к этому отнесутся остальные сайты, которые на cp1251? Или тогда прописать по умолчанию mbstring.internal_encoding на windows-1251, а в уникоде ставить уже правильный параметр .htaccess?
кракозябры - просто восхительный поисковый тэг. Я вот искал что угодно - от mbstring до php 5.2.9, а тут такое слово... Запишу в красную книгу и повешу на полочку.
Alex K., благодарю за предложенное решение. Оно сработало. Часто глобальное задание mbstring.func_overload 2 для хостинга неприемлемо так как противоречит требованием некоторых решений (phpBB например требует запрета на перегрузку, т.е. mbstring.func_overload 0). От себя добавлю, что php_admin_value mbstring.func_overload 0 работает также внутри <Directory> поэтому можно использовать, скажем, Битрикс + phpBB на одном хосте, задав для дирректории /forum/, к примеру, запрет на перегрузку.
Правильно ли я понял, что при использовании php.ini хостера Apachi нет никакой возможности изменить умолчание overload? т.е. все же придется ставить собственный php и колдовать? -)
При установки битрикса на хостинге возникает такая проблема: для установки продукта в кодировке UTF-8 необходимо установить библиотеку mbstring с параметрами mbstring.func_overload больше 2, mbstring.internal_encoding=UTF-8.
Если кто сталкивался, то решение простое: в файле .htaccess (в корне) за комментировано две строки, как раз нужных.
Пытался кстати тут сухосин не пришибать, а настроить. Вроде настроил. Потом заметил, что на сайте траблы со строковыми функциями (как будто перегрузка не включена или перекодировка неверно настроена). В общем, грешил на мбстринг, ковырялся ковырялся - всё верно настроено. Короче когда зашёл в тупик, отключил сухосин, всё сразу заработало. Блочит он чтоли перегрузку, я так и не понял. И как его подружить с mbstring - так и не нашёл.
В конфигурации PHP включен, несовместимый с phpMyAdmin, параметр mbstring.func_overload. Для предотвращения возможной потери данных, данный параметр должен быть выключен! предупреждение в пхпадмин.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».