CodeIgniter flashdata西里尔文错误

时间:2013-02-28 09:35:42

标签: php codeigniter

我的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']);
会议被破坏......

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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