Доброго всем дня. Давайте по порядку)
Вячеслав Любовин, ваш сайт на windows-1251 кодировке когда был создан на какой версии машины? (важно, потому что были доработки, не факт что у вас они есть, потому уточняю).
Цитата |
---|
Андрей Николаев написал: Для Bitrix Env смотри там: Код/etc/php.d/bitrixenv.ini |
Вообще менять тут как минимум неверно) Это общие параметры всей машины. По умолчанию там должно быть:
Код |
---|
mbstring.func_overload = 2
default_charset = UTF-8 |
Переопределять их нужно или в конфигурации httpd этого сайта или в .htaccess файле.
Так же зависит от типа вашей машины: стабильная 7.4.3 или бета 7.4.11. В последней бете правили создание сайтов в кодировке windows-1251.
В версии 7.4.3 можно посмотреть в конфиг файл httpd для сайта по пути /etc/httpd/bx/conf/bx_ext_<ДОМЕН_САЙТА>.conf (сайт не дефолт, для дефолта аналогично), там увидите:
Код |
---|
...
php_admin_value mbstring.func_overload 0
php_admin_value default_charset latin
... |
latin - тут ошибка, она исправлена в 7.4.11. Если посмотреть в 7.4.11 тот же конфиг /etc/httpd/bx/conf/bx_ext_<ДОМЕН_САЙТА>.conf
Код |
---|
...
php_admin_value mbstring.func_overload 0
php_admin_value default_charset cp1251
... |
то видим cp1251 - верное значение.
Если посмотрите конфиг файлы httpd для UTF-8 сайтов, то там этих строк не будет. Эти опции будут браться из файла /etc/php.d/bitrixenv.ini.
Кроме того чтобы система обновлений проекта работала после обновления для проекта в кодировке windows-1251 нужно для этого проекта в файле /bitrix/php_interface/dbconn.php добавить строку:
Код |
---|
mb_internal_encoding('windows-1251'); |
Это подправим в следующей бете 7.4.12.
Вячеслав Любовин, то есть вам надо вернуть php.ini к дефолтному состоянию, проверить httpd конфиг сайта, внести правки если нужно и добавить строку в dbconn.php. А параметр mbstring.internal_encoding скорей всего у вас в .htaccess, его закоментировать в этом файле.
Цитата |
---|
Александр Панишев написал: интересно а как быть в ситуации когда на серваке есть сайты и utf 8 и 1251
кодировки default_charset для всех один ведь и получается сайты надо переводить с 1251 на utf-8 |
Александр Панишев, как видите на одной машине могут работать сайты в двух кодировках без проблем, ничего переводить не надо)