PHPフレームワークで、今時Codeigniter(以下CI)を使っている人も少ないかと思いますが、まだPHP5.3必須なFuelPHPに乗り換えられずに悶々しているモトヲです、こんにちは。
で、CIのEmailヘルパーを使ってメールを送信する場合、長い件名だと文字化けしちゃうんですよね。
ずっと見てみぬフリしてた、というか「短い件名で設定してください」てな上からなお願いをしてたんですけど、対策を練ってみました。
以下ソース。
application/libraries
ディレクトリにMY_Email.php
というファイルを作成。内容は以下のとおり。
_prep_q_encoding($subject); $CI =& get_instance(); mb_internal_encoding($this->charset); $subject = mb_encode_mimeheader($subject, $this->charset, 'B', $this->crlf); mb_internal_encoding($CI->config->config['charset']); $this->_set_header('Subject', $subject); return $this; } private function _set_header($header, $value) { $this->_headers[$header] = $value; } } // END MY_Email class /* End of file MY_Email.php */ /* Location: ./application/libraries/MY_Email.php */
元々の_prep_q_encoding
という関数が訳のわからんことをやってんのよね〜。
以上備忘録でした。
CodeIgniter徹底入門
posted with amazlet at 12.10.18
河合 勝彦 鈴木 憲治 安藤 建一
翔泳社
売り上げランキング: 148893
翔泳社
売り上げランキング: 148893