Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Cron не выводит в файл русских буквы

00 голосов
4
Поставил на крон экспорт для яндекса:
Код
/usr/bin/php -f ../bitrix/php_interface/include/catalog_export/cron_frame.php 2


Файл формируется, все правильно, за исключением полного отсутствия русских букв, подскажите, где начать искать ошибку?
спросил 30 Янв, 14 от CCCPKinG (440 баллов)

4 Ответы

00 голосов
Сайт на windows-1251
ответил 04 Июнь, 14 от CCCPKinG (440 баллов)
00 голосов
Код
   function yandex_text2xml($text, $bHSC = false)
   {
      //$text = $GLOBALS['APPLICATION']->ConvertCharset($text, LANG_CHARSET, 'windows-1251');
      
      if ($bHSC)
         $text = htmlspecialchars($text);
      $text = preg_replace("/[\x1-\x8\xB-\xC\xE-\x1F]/", "", $text);
      $text = str_replace("'", "&apos;", $text);
      return $text; 
   }


закомментировал строчку, все заработало.
вопрос к разработчикам: почему так?
ответил 01 Окт, 14 от CCCPKinG (440 баллов)
00 голосов
Так же пришлось заменить эти строчки:

Код
   //@fwrite($fp, "<name>".htmlspecialchars($APPLICATION->ConvertCharset(COption::GetOptionString("main", "site_name", ""), LANG_CHARSET, 'windows-1251'))."</name>\n");
   @fwrite($fp, "<name>".htmlspecialchars(COption::GetOptionString("main", "site_name", ""))."</name>\n");

   //@fwrite($fp, "<company>".htmlspecialchars($APPLICATION->ConvertCharset(COption::GetOptionString("main", "site_name", ""), LANG_CHARSET, 'windows-1251'))."</company>\n");
   @fwrite($fp, "<company>".htmlspecialchars(COption::GetOptionString("main", "site_name", ""))."</company>\n");
ответил 03 Фев, 15 от CCCPKinG (440 баллов)
00 голосов
Спасибо, Nevil. У меня схожая проблема, и по Вашим постам стало ясно, где копать.

Поправка для тех, у кого сайт на UTF-8: не комментируя указанные строки, заменить LANG_CHARSET на 'UTF-8'.

Дело в том, что при запуске экспорта через админку, LANG_CHARSET равен 'UTF-8', а при запуске по крону - пустой строке.
ответил 17 Май, 15 от Whitemage (100 баллов)

Похожие вопросы

0 голосов
3 ответов
0 голосов
3 ответов
0 голосов
4 ответов
спросил 23 Ноя, 13 от Balber (100 баллов)
0 голосов
1 ответ
0 голосов
7 ответов
спросил 29 Июль, 13 от Marsingel (240 баллов)