我的database.table ci_sessions是utf8_general_ci,在我的.htaccess中已设置
addDefaultCharset UTF-8
在我的配置文件中:
$config['charset'] = 'UTF-8';
但如果我在我的flash会话数据中写了一个西里尔字符,我的所有会话都会被销毁,我会自动注销,如何解决这个问题呢?
我的文件是没有bom的utf-8,但如果我在里面写
$message = 'ВЦФАФАП';
$this->session->set_flashdata('message', $message);
redirect($_SERVER['HTTP_REFERER']);
会议被破坏......
答案 0 :(得分:0)
我遇到了同样的问题,但我的会话并没有存储在数据库中。 我的字符集也设置为UTF-8。
我对此问题的解决方案是确保文件的编码也设置为UTF-8。如何执行此操作取决于您使用的编辑器。
答案 1 :(得分:0)
尝试添加base64_encode()函数。对于插入DB base64_encode(serialize($session_data))
。对于选择unserialize(base64_decode($db_data))
。