Codeigniter电子邮件不编码为utf8

时间:2013-07-04 11:58:33

标签: codeigniter utf-8 character-encoding

我正在使用Codeigniter电子邮件库。 我在塞尔维亚语的数据库中有一些这类字符的数据:žčćšđ 当我在其他地方打印出来时,所有字符都没问题,所以databese将它保存在正确的路上。

我的控制器看起来像这样:

$config['charset'] = 'utf-8';
    $this->load->library('email');
    $this->email->initialize($config);


    foreach($email as $val): 

    $this->load->library('email');
        $this->email->from('rs@svstara.rs', 'Vojvođanska Svaštara - Mali Oglasi');
        $this->email->to('daniela.stevanovic@gmail.com'); 

        $this->email->subject($uid);
        $this->email->message($tekst);  

        $this->email->send();

        $info=$this->email->print_debugger();
         endforeach;
     echo json_encode(array('info'=>$info));

当我收到电子邮件时,它看起来像这样:pšđpšđpšđpšđ-čć.- 所以有一些字符,什么是未编码的。

2 个答案:

答案 0 :(得分:3)

你必须将字符串编码为UTF-8,即使你期望它们已经是utf-8编码的。试试php mb-convert-encoding

mb_convert_encoding($content, "UTF-8");

答案 1 :(得分:0)

检查文件格式是否也是UTF-8。有时,在使用Eclipse时,它默认设置为ISO-8859。

右键单击文件> 文本文件编码:UTF8。

您可以将其应用于所有项目(警告:它可能会分解一些字符)