another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Почему не корректно пишутся данные в сессии?

PHP скрипт криво пишет данные в сессию. На странице указана кодировка utf-8. AJAX обращаюсь к скрипту, записываю данные, смотрю дамп сессии -- вместо русского кракозябры. В чем может быть проблема? Или необхимо обазательно конвертировать? В самом скрипте пробовал отсылать хедер с верной кодировкой -- не помогло. Спасибо.
  • Вопрос задан
  • 2607 просмотров
Решения вопроса 1
another_dream
@another_dream Автор вопроса
Backend-разработчик, Laravel/ZF2/Yii2
Все дело было в htmlentities. Было написано без кодировки. Указал кодировку(htmlentities($_POST['comment'], ENT_QUOTES, "UTF-8")) и все заработало. Спасибо :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
svd71
@svd71
проблема в том, что при обращении аяксом вы не стартуете сессию. или сессия стартует позже.
Решить проблему можно передачей языкового параметра непосрественно в запросе аякса.
Так же сессия может терться при обработке запросов к картинкам, яваскриптам или стилям при их обработки скриптами пхп. Это приводит к тому, что переменная в сессии не перезаписывается и позже сессия теряет нужное значение.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы