| Цитата | ||
|---|---|---|
Роман Семёнов написал:
а еще лучше не переписывать а реализовать интеграцию- например через rest api зачем переписывать когда можно использовать готовое? |
|
|||||
|
|
|
Сделал так, рядом с родным oracleconnection.php положил урезанный modoracleconnection.php где определил новый класс class ModOracleConnection extends oracleConnection с одной только функцией: protected function connectInternal() , где указал доп. параметр кодировки соединения в .settings.php соответственно прописал 'oracle' => array( 'className' => '\\Bitrix\\Main\\DB\\ModOracleConnection', Заработало, но как-то некрасиво класть чужой файл в каталог битрикса. Выдало как надо, но боюсь следующее обновление перенесет оттуда инородный файл. Как все-таки правильнее сделать? |
|||
|
|
|
[Bitrix\Main\DB\SqlQueryException] [922] ORA-00922: missing or invalid option (ALTER SESSION SET NLS_NCHAR_CHARACTERSET='AL32UTF8') (400) ALTER SESSION SET NLS_NCHAR_CHARACTERSET='AL32UTF8' /home/bitrix/ext_www/mb-test.mrk/bitrix/modules/main/lib/db/oracleconnection.php:135 На форумах пишут, что этот параметр не для сессии, а когда всю базу физически хотят в другую кодировку перевести. |
|||||||
|
|
|
|
|||
|
|
|
Еще раз скажу, у меня все, абсолютно все PHP файлы в UTF-8 без BOM |
|||
|
|
|
|
|||
|
|
|
2. База: mysql> show cre ate database `mrk_site`; +----------+-------------------------------------------------------------------------------------------+ | Database | Cre ate Database | +----------+-------------------------------------------------------------------------------------------+ | mrk_site | CRE ATE DATABASE `mrk_site` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */ | +----------+-------------------------------------------------------------------------------------------+ 3. Содержимое after_connect.php<? $DB->Query("SET NAMES 'utf8'"); $DB->Query('SET collation_connection = "utf8_unicode_ci"'); ?> 4. Ничего такого нет, к БД доступ только через API инфоблоков или вообще только через админку В общем ситуация бредовая пока вырисовывается: Инфоблок, примерно такой: Альбом Форм 1. - Главный Инженер 1.1 - Главный энергетик 1.2 - Главный электрик 2. - Финансовое управление Это названия секций, в каждой есть соответственно элементы, которые содержат Название, даты, и т.п. стандартные реквизиты + свойство файл На страничке соответственно показывается содержимое, если пользователь Выбирает корневую, то ему выводятся списком (большим, разбитым по страницам), идет ниже, соответственно начинают выводится элементы уже конкретных секций. Вот 1 и 1.1 может показывать нормально, а 1.2 вопросиками, причем в админке все ок, обновишь кэш компонента и на странице начинает показывать все ок, до следующего раза. Такой сбой бывает довольно редко и мне не трудно по звонку обновлять кэш компонента, просто стало любопытно, что это. Кстати, может кто подскажет, когда в следующий раз сбойнет, как в кэше найти где эта страничка лежит, чтобы глянуть ее содержимое, чтобы посмотреть, когда сформировалось, ведь если я правильно понимаю, что если страница идет из кэша, то к БД запросов нет вообще никаких. |
|||
|
|
|
В настройках какого модуля надо смотреть? просмотрел Главный, инфоблоков, интернет-магазина и торговый каталог, там вообще нет настроек по кодировкам, а это и правильно, туда-то отдельно зачем это выносить. Мне кажется если бы в одном из этих мест была неверно указана кодировка, то проблемы была бы постоянной, а не так, что месяц все нормально, потом опа, какая-то из секций вместо кириллицы выводит вопросики, опять же сделаю акцент, не весь инфоблок, а его часть, судя по всему это совпадает с перестроением кэша, раз сбойнет и всем потом отдает уже вопросики, пока я принудительно его снова не перестрою. Вот думаю, может вообще кеширование для этой странички отключить. |
|||
|
|
|
![]() т.е. вариант попросить битрикс отдать страничку, когда она еще не полностью сформирована невозможен? пойду наверное покопаюсь, посмотрю как битрикс бэкапы, да импорты/экспорты делает, может придумаю чего |
|||
|
|
|
![]() Неэкономно с точки зрения дискового пространства, ведь куда логичнее было бы достаточно 2-мя доп. запросами проверять перед удалением файла, а есть ли на него ссылки, чем бояться с удалением элемента, покрешить ссылки у остальных элементов с такой-же картинкой. |
|||
|
|
|