1

我的 database.table ci_sessions 是 utf8_general_ci,在我设置的 .htaccess 中

addDefaultCharset UTF-8

在我的配置文件中:

$config['charset'] = 'UTF-8';

但是如果我在我的闪存会话数据中写了一个西里尔字符,我的所有会话都会被破坏并且我会自动注销,如何解决这个问题?

我的文件是没有bom的utf-8,但是如果我在里面写

$message = 'ВЦФАФАП';
$this->session->set_flashdata('message', $message);
            redirect($_SERVER['HTTP_REFERER']);

会话被破坏...

4

2 回答 2

0

我遇到了同样的问题,但我的会话一开始并没有存储在数据库中。我的字符集也设置为 UTF-8。

我对这个问题的解决方案是确保文件的编码也设置为 UTF-8。如何执行此操作取决于您使用的编辑器。

于 2013-03-21T09:12:36.030 回答
0

尝试添加 base64_encode() 函数。对于插入数据库base64_encode(serialize($session_data))。对于选择unserialize(base64_decode($db_data))

于 2015-11-26T10:59:52.307 回答