Кодировка в 1с где настраивается

Обновлено: 04.07.2024

В последнее время, в процессе работы, я все меньше и меньше встречаю сайты, которые находятся в некогда популярной кодировке «Windows-1251», приоритетно используемой на русскоязычных ресурсах.

Если верить «Wikipedia» («Википедия» — свободная энциклопедия), на начало апреля 2019 года лишь на 1% всех веб-страниц используется эта кодировка.

Скрывать не буду, я в числе тех, кто так же не использует ее в своих проекта, и вот почему:

Чтобы избежать этих (и не только) неприятных моментов, сегодня в этой статье я подробно расскажу вам, как перевести сайт под управлением CMS 1C-Bitrix из кодировки «Windows-1251» в «UTF-8».

1. Конвертацию (смену кодировки) в CMS 1C-Bitrix мы начнем с самого главного – создания полного бэкапа сайта (его файлов и базы данных).

2. Далее попросите поддержку хостинга установить для сайта следующие директивы:

Можно попробовать внести изменения и самостоятельно одним из следующих способов.

2.1. Первый вариант – для тех, кто использует хостинг Beget.

2.1.2. Перейдите в раздел «Сайты».

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

2.1.3. На открывшейся странице, напротив настраиваемого сайта нажмите на иконку «PHP N», где N – используемая версия PHP на вашем сайте.

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

2.1.4. В открывшейся форме либо вручную добавьте директивы:

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

либо в блоке «Применить оптимальные настройки для CMS:» выберите «Bitrix UTF-8» и сохраните изменение нажатием на кнопку «Применить».

2.2. Второй вариант – через конфигурационный файл php.ini. О том, как узнать адрес его местоположения на вашем хостинге, написано в этой нашей статье.

В нем вам необходимо найти и раскомментировать строки (удалить перед ними ;) содержащие «mbstring.internal_encoding» и «mbstring.func_overload», после чего значения выставить на «UTF-8» и «2» соответственно, чтобы получилась следующая картина:

2.3. Третий вариант – через файл .htaccess, который находится в корневой папке сайта.

Если вы используете стандартный файл .htaccess и версия PHP на хостинге до 5.4, то найдите блок, похожий на:

Если вы используете стандартный файл .htaccess и версия PHP на хостинге 7+, то найдите блок, похожий на:

и замените его на:

Во всех остальных случаях попробуйте просто прописать следующие строки в самый верх этого же файла:

В нем для нужного виртуального хостинга (сайта) в блок «VirtualHost» вставьте следующие директивы:

4. Перейдите в раздел «Настройки» – «Настройки продукта» – «Модули».

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

5. Если на вашем сайте установлен модуль «Форум», вам необходимо удалить букву «ё» из словаря транслита. Для этого в левом меню перейдите по пути «Сервисы» – «Форумы» – «Фильтр нецензурных слов» – «Словарь транслита», найдите и удалите букву из списка.

6. Далее переходите в «Настройки» - «Настройки продукта» – «Языковые параметры» – «Региональные настройки».

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

7. На открывшейся странице находите «ru» в столбце «Название» и щелкаете по нему один раз левой кнопкой мыши.

8. На открывшейся странице, в графе «Кодировка» пишите:

После чего сохраняете изменения нажатием на соответствующую кнопку.

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

После сохранения у вас (в административной части сайта и на самом сайте) могут появиться знаки вопроса – не пугайтесь, на данном этапе это нормальное явление.

9. Далее подключитесь к вашему сайту по FTP.

10. В папке /bitrix/php_interface/ найдите и откройте файл dbconn.php, после чего сразу после <? добавьте:

Сохраните изменения и отправьте файл обратно на сайт.

11. В папке /bitrix/ найдите и откройте файл .settings.php. В нем блок:

Сохраните изменения и отправьте файл обратно на сайт.

12. Скачайте архив в конце статьи, разархивируйте и содержимое (файл convert_utf8.php) загрузите по FTP в корень вашего сайта.

13. Перейдите на вашем сайте (через браузер) к файлу по пути /convert_utf8.php, после чего на открывшейся странице (если в предыдущих шагах нет никаких ошибок) у вас появится страница следующего вида:

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

13.1. Здесь вы жмете на «Проверка прав доступа» и ждете результата проверки. Если все хорошо (в противном случае будет предложен список файлов, которые запрещены для записи), появится страница следующего вида:

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

Жмете на «Конвертация файлов в UTF8».

13.2. После того, как процесс конвертации файлов завершиться успехом, вы увидите следующую картину:

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

Здесь вы жмете на «Конвертация базы данных в UTF8», и если вдруг вас перекинет на ваш сайт с формой входа – авторизовываетесь, введя данные от профиля администратора, после чего вас перекинет обратно на страницу выше, где вы вновь нажимаете «Конвертация базы данных в UTF8».

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

14. Возвращаетесь в FTP и удаляете из корневой папки сайта ранее загруженный файл convert_utf8.php.

15. Здесь же (в FTP) откройте файл after_connect.php в папке /bitrix/php_interface/ и строку:

Сохраните изменения и отправьте файл обратно на сайт.

16. В этой же папке откройте файл after_connect_d7.php и строку:

Сохраните изменения и здесь и отправьте файл обратно на сайт.

18. Выйдите из панели управления сайтом, после чего авторизуйтесь вновь.

19. Установите удаленные из 4 шага модули. Для поиска сделайте переиндексацию (в левом меню «Настройки» – «Поиск» – «Переиндексация» и на открывшейся странице – «Переиндексировать»).

Правильная смена кодировки 1C-Bitrix с Windows-1251 (CP1251) на UTF-8

При большом количестве материалов на сайте этот процесс так же не быстрый, поэтому окончания придется подождать некоторое время.

21. Дополнительно: если вы используете интеграцию с почтой, в разделе «Сервисы» – «Почта» – «Почтовые ящики», в каждом почтовом ящике во вкладке «Дополнительные настройки», в графе «Кодировка, в которую конвертировать входящую почту», выставьте «(использовать кодировку сайта)».

Вот, собственно, и все. Инструкция тестировалась на 1C-Bitrix версии 18.0.

Пишу модуль для автоматического анализа дебеторки и с последующим формированием актов сверок и отправки по майлу и факсу, все написал но одна хрень всплыла. Когда формируется акт сверки и отправляектся по майлу то этот файл приходит адресату с квадратиками в названии, вернее если он смотрит то есть прикрепленный файл дапустим акт сверки, но когда он пытается его скачать то квадратики в названии. Как это дело побороть?

(0) Не использовать в именах файлов символы Unicode за пределами ASCII.

Ппц, куда миста катиться как обсуждать сталкера так более пол тыщи постов, а как что-то по 1С спросить так хрен кто ответит

(1) Спасибо мил человек допустим фирма Эль-терра ООО Хабаровск, что тут не так?

(3) Имя файла формируется 1C?
v8 доблестно использует Unicode. В том числе и для русских букв.
Посмотри имена файлов в Far - что показывает.

(6) отправлю на мыло, надеюсь на вашу порядочность и длаьше не куда не уйдет, хотя там нет не чего такого секретного. Проверяйте

Вернее он название показывает нормально а сам файл не открывавет

На инфостаре кажется как то сделано что файл сохраняется в латинице

О, кстати!
Opera русские буквы в названиях вложений не любит.

У тебя заголовок письма не по стандарту формируется. Вот отсюда и все беды.

(17) это как так ИЕ сохраняет почту ?
в смысле веб-клиент ?

(15) принимающая сторона какого клиента использует ?
или через веб, типа майлРУ ?

отправка штатными средствами 1С ?
а там можно перед отправкой сформированное письмо в строку (файл) загнать ?

((25) да все штатно.
Суть работы: Формируем файл в хлс, сохраняем его на диск, потом . короче вот код

Правильно имя так (либо по рфс name*=. name1 и т.д.)

(26) в снеговике ведь вроде можно строку сделать в другой кодировке ?
если так, сделай имя в кои8, будет короче и переносов не станет (правдо не всегда)

Даже если я ставлю кодировку письма кои8 то один хрен такая бодяга, но это в опере

Читайте также: