PHP 5.5 になった事で SquirrelMail が使えなくなりました

また、SquirrelMail 1.4.22 を使っても文字化けが発生しました

文字化けが解消出来るバージョンが無いのか確認したけど・・・

SquirrelMail 1.4.23-svn SquirrelMail 1.5.2-svn を導入してみたけど

文字化けを直す事が出来ませんでした

Vine Linux 6.2 用の文字化け解消になるかもなので

参考に以下の修正方法をメモ程度に記載しときます。

修正方法

①./usr/share/squirrelmail/functions/i18n.php

②.以下の内容を修正します。

修正前

$ret = mb_convert_kana(mb_convert_encoding($ret, 'EUC-JP', 'AUTO'), "KV");

修正後

$ret = mb_convert_kana(mb_convert_encoding($ret, 'EUC-JP', 'ASCII,JIS,EUC-JP,UTF-8,SJIS'), "KV");

 

③.以下の内容を修正します。

修正前

if (function_exists('mb_language')) {
mb_language('Japanese');
}
mb_internal_encoding('EUC-JP');
mb_http_output('pass');

 

修正後

if (function_exists('mb_language')) {
mb_language('Japanese');
}
mb_detect_order('ASCII,JIS,EUC-JP,UTF-8,SJIS');
mb_internal_encoding('EUC-JP');
mb_http_output('pass');

mb_detect_order(‘ASCII,JIS,EUC-JP,UTF-8,SJIS’); を追加しています。

④.vi /usr/share/squirrelmail/class/deliver/Deliver.class.php

件名の文字化けを修正する内容です。

修正前

$header[] = 'Subject: '.encodeHeader($rfc822_header->subject) . $rn;

修正後

$header[] = 'Subject: '.mb_convert_encoding($rfc822_header->subject,'JIS') . $rn;

 

時間がある時に調査するようにします・・・