Разработка сайтов

Слетела кодировка title после конвертации

Так вышло что после конвертации сайта в utf 8 у него слетели title и description. Показывались стандартные кракозябры. Весь остальной сайт перевелся в новую кодировку на отлично. Мы не стали искать причину, а начали решать проблему. Методом тыка мы нашли что если зайти в статью и нажать сохранить, то все отображается верно. Заметим, что кодировка у нас слетела только у части заголовка где использованы шаблоны и используется функция lower. В итоге мы написали скрипт, который обнуляет поля шаблонов для seo и потом заново их выставляет. Так как статей было много мы запускали скрипт в несколько этапов прописав диапазон id элементов в фильтре. \Bitrix\Main\Loader::includeModule('iblock');
use Bitrix\Iblock\InheritedProperty;
$el = new CIBlockElement;
$arFilter = array(
'IBLOCK_ID' => 1,
'>array(8000,12000) // задаем диапазон
);


//Получаем массив всех элетметов
$rest = CIBlockElement::GetList(false, $arFilter, array('IBLOCK_ID','ID'));


//Перебираем все элементы инфоблока и записываем в массив их IDшники
while($element = $rest->GetNext()){
//if($element['ID']<3000) continue;


$PRODUCT_ID = $element['ID']; // изменяем элемент с кодом (ID) 2
//$ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues(1, 26434);
$ipropTemplates = new InheritedProperty\ElementTemplates(1, $PRODUCT_ID);
//$arElMetaProp = $ipropTemplates->getValues();


$sectMeta = $ipropTemplates->get();
echo $sectMeta['ELEMENT_META_TITLE']['TEMPLATE'];


$arLoadProductArray = Array(
"IPROPERTY_TEMPLATES" => array(
"ELEMENT_META_TITLE" => '1' // title элемента
));


$res = $el->Update($PRODUCT_ID, $arLoadProductArray);




$el = new CIBlockElement;
$arLoadProductArray = Array(
"IPROPERTY_TEMPLATES" => array(
"ELEMENT_META_TITLE" => $sectMeta['ELEMENT_META_TITLE']['TEMPLATE'] // title элемента
));
$res = $el->Update($PRODUCT_ID, $arLoadProductArray);
echo $element['ID'];


}
Подписка на блог Подпишись на новые материалы от US STUDIO и вы не пропустите интересные статьи от нашей компании