Сбой сеанса CI при сохранении символов UTF-8 - PullRequest
0 голосов
/ 13 октября 2011

Когда вошедший в систему пользователь просматривает страницу с символами UTF-8 в сеансе, он вылетает из данных сеанса и перенаправляется на страницу входа.Это работает, когда это происходит с не-UTF-8, только когда наш клиент с японскими контактами делает это действие.Я не получаю никаких ошибок или предупреждений, сеанс просто аварийно завершается, что означает, что пользователь перенаправлен на страницу входа в систему.

Эта строка кода НЕ приводит к сбою сеанса:

$this->session->set_userdata('custom_filters', 'Some Kind of String');

Эта строка кода завершает сеанс:

$this->session->set_userdata('custom_filters', 'コミュニケーションズ株式会社');

Моя кодировка таблицы ci_sessions в моей базе данных установлена ​​на UTF-8, а вот моясоответствующая конфигурация базы данных:

$db['default']['char_set'] = "utf8";

$db['default']['dbcollat'] = "utf8_general_ci";

Любая помощь, которую вы можете оказать, высоко ценится.Дайте мне знать, если вы хотите увидеть какие-либо другие мои настройки.

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Я столкнулся с той же проблемой и нашел обходной путь здесь: Codeigniter, кажется, ломает $ _POST символа '£' (фунт) Очевидно, это проблема MAMP / PHP 5.3.5. Переход на PHP 5.2.17 в настройках MAMP исправил ошибку для меня.

0 голосов
/ 12 марта 2015

Если вы сохраняете данные сеанса в базе данных, убедитесь, что для набора символов и сопоставления установлены значения utf8 и utf8_unicode_ci соответственно.

Это то, что вызвало сбой моего сеанса CI при использовании юникода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...