Ayeleth
Ты всегда получаешь чего хочешь, рано или поздно, так или иначе…
Если вы установили Битрикс в кодировке UTF-8 и собираетесь использовать mPDF для генерации pdf-документов, то несомненно столкнетесь с проблемой, что русские символы отображаются совсем не так, как это исторически сложилось. Проблема совместимости 1С-Битрикс и mPDF связана со значением параметра mbstring.func_overload.

Для корректной работы Битрикс требуется установить mbstring.func_overload=2. Небольшое отступление, для чего это нужно. В PHP, для работы с многобайтовой кодировкой (той же UTF-8), используются специальные функции, которые начинаются с префикса mb_. Для совместимости со старым кодом, который писался без учета работы с многобайтовой кодировкой, можно включить режим перегрузки функций. Тогда функции вызванные в старом написании будут работать, как функции с префиксом mb_. То есть это простой и удобный способ заставить работать многие тысячи строк старого кода с многобайтовой кодировкой и не заниматься утомительной работой по замене вызовов этих функций на новое написание. Параметр mbstring.func_overload=2, как раз включает этот фокус.

Без сомнения все это хорошо, пока не начинаешь пользоваться сторонними продуктами, для которых этот параметр надо отключить (mbstring.func_overload=0). Как раз к таким относится и mPDF. А так как библиотека, в силу своей функциональности и удобства, широко распространена то часто возникает проблема — когда и хочется, что бы Битрикс работал в UTF-8 и mPDF формировал русские тексты как надо.

Решение этой проблемы есть и оно довольно простое, но применимо только для VDS или собственных серверов, т.е. там где вы сможете немного поправить конфигурацию Apache руками. Смысл решения в том, что для виртуального хоста Apache, где крутиться Битрикс, в директории, откуда вызывается скрипт, который формирует pdf, установить mbstring.func_overload=0.

Делается это следующим образом. Для виртуального хоста между добавляем блок:



AllowOverride All
php_admin_value mbstring.func_overload 0


И собственно все, 1С-Битрикс и mPDF независимо друг от друга работают так, как и задумывалось их разработчиками.

Взято отсюда

@темы: битрикс, рабочее, шпаргалки