Проблема программного создания ноды с кириллическим текстом

Главные вкладки

Аватар пользователя kruzalus kruzalus 16 февраля 2012 в 0:05

Всем привет!
С программным созданием нод более-менее разобрался.
Все бы хорошо, но возникла необходимость использовать в создаваемых нодах киррилицу и тут столкнулся с весьма странной проблемой:
1) Поле body с английским текстом нормально создается только если использовать LANGUAGE_NONE, а если заменить его на 'en', то поле body остается пустым. Body у меня необязательное поле.
2) При попытках использовать в body код 'ru' и кирриллицу в теле ноды или в заголовке выводится ошибка
"На сайте произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже."

Модуль Locale установлен, код русского языка - 'ru'.
Ноды программно создаются с помощью модуля с кодом

function nodepost_menu() {
 
  $items['nodeadd'] = array (
    'title' => 'Nodeadd!',
    'page callback' => 'nodepost_node_add',
    'access arguments' => array('create post content'),
    'type' => MENU_CALLBACK,
  );
 
  return $items;
}

function nodepost_node_add() {
  $node = new stdClass;
  $node->type = 'type';
  $node->title = 'Title';
  $node->language = 'ru';
  $node->body[LANGUAGE_NONE][0]['value'] = 'Body text';
  $node->uid = $user->uid;
  node_object_prepare($node);
  node_save($node);
  drupal_goto("node/$node->nid");
}

Подскажите, в чем может быть причина и куда копать? Спасибо.

Комментарии

Аватар пользователя kruzalus kruzalus 16 февраля 2012 в 1:49

"bigi" wrote:
поставь девел и посмотри какие у тебя массивы.
я делал так: $node->field_body['und'][0]['value']='текст';

Так, поставил, посмотрел:

body (Array, 1 element)

У меня

$node->body['und'][0]['value']='текст';

выводит все ту же ошибку Sad

Аватар пользователя kruzalus kruzalus 20 февраля 2012 в 0:15

Для создания ноды у меня отдельный модуль.
Решил проблему невероятно просто - сохранил файл name.module в utf8 и все заработало))

Аватар пользователя ihappy ihappy 20 февраля 2012 в 0:28

"kruzalus" wrote:
Решил проблему невероятно просто - сохранил файл name.module в utf8 и все заработало))

святой иссуси, восьмое чудо света Wink
Вообще все что делается в друпал, все должно делать в UTF8 without ВОМ.