Jquery - MVC - Некорректно сохраняются русские буквы в IE

Тема в разделе "Программирование", создана пользователем magistr_yoda, 05.12.2010.

  1. Offline

    magistr_yoda Недавно здесь

    Регистрация:
    20.05.2007
    Сообщения:
    166
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте,
    На форме, есть простая текстареа, её нужно сохранить в БД, с помощью движка Joomla(с этим мне всё понятно) - но при сохранении из IE 8 - почему то из строки данных, удаляются русские буквы -
    использую библиотеку jquery-1.4.3.min.js

    // Функция jquery
    function save_memo(param){
    var memo= jQuery("#main_trash").val();
    alert(memo);
    var id= jQuery("#recid").attr("value");
    alert(id);
    jQuery.get('index.php?option=com_mycom&format=raw&task=save_main_trash&id='+id+"&memo="+memo, cr_trash);
    }


    В php коде - контроллер
    $data = JRequest::get('get');


    Далее идёт сохранение в модели, с помощью самого движка, и в браузере опера сохранение происходит нормально.
    if (!$table->bind($data))
    {
    $this->setError($table->getError());
    return false;
    }
    // проверяем данные
    if ($table->check($data))
    {
    // сохраняем данные
    if (!$table->store($data))
    {
    $this->setError($table->getError());
    return false;
    }
    } else {
    $this->setError($table->getError());
    return false;
    }

    Причем, в php коде модели, перед сохранением стоит проверка, если поле пустое - сохранение не должно происходить
    // Проверка, заполнены ли необходимые поля
    if (trim($data['memo']) == ""){
    $this->setError('Не заполнено поле Текст');
    return false;
    }

    и функция работает(если ничего не вписать в поле) то сохранение не произойдёт, но в IE 8, если в поле введены слова из русских букв, то в базу данных, в поле memo происходит сохранение только пустой строки.
    Если быть точнее, то из исходных данных удаляются все символы содержащие русские буквы, например из строки 123 абл 456 - будет сохранено только 123, а если вся строка из русских букв, то в поле сохраниться только пустая строка.

    И ещё один вопрос, почему- то при сохранением таким методом, символы переноса строки в textarea убираются - как их оставить ? Чтобы если происходит сохранение строки -
    "привет

    бла бла" - она так и сохранялась, а не
    "приветблабла"
     
  2.  
  3. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    сохраните все файлы в утф8
     
  4. Offline

    magistr_yoda Недавно здесь

    Регистрация:
    20.05.2007
    Сообщения:
    166
    Симпатии:
    0
    Пол:
    Мужской
    Всё файлы ещё раз перевёл в utf8 - но результат тотже.
     
  5. Offline

    magistr_yoda Недавно здесь

    Регистрация:
    20.05.2007
    Сообщения:
    166
    Симпатии:
    0
    Пол:
    Мужской
    Решено - перевёл передачу параметров через POST - сработало.
     
  6. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    а данные в базе в какой кодировке хранятся ?
     
  7. Offline

    magistr_yoda Недавно здесь

    Регистрация:
    20.05.2007
    Сообщения:
    166
    Симпатии:
    0
    Пол:
    Мужской
    UTF 8,
    Конкретно это поле с collation utf8_general_cy.

    Но как я уже написал, проблема решена, отправляю методом POST и всё садится нормально.
     

Поделиться этой страницей

Загрузка...