平衡点


2013/12/03

_ Roundcube のメールデコード

良く知られた話かもしれませんが...

世の中には機種依存文字というのがありまして, メールの文字コードは ISO-2022-JP と謳っていながら, その実丸囲み数字とかが存在する, というメールが飛び交っております.

単に自分が受ける側であれば,

なんかを参考に, 適宜設定しておくと良いのかもしれません(cc-env memo: Wanderlust の設定).

ウチ 某所サーバでは, WebMail のサービスとして Roundcube を提供しています. で, 飛び交うメールが偶に WebMail 上で読めない, という事態が発生していることに今更ながら気がつきました.

...という訳で, ad hoc ながら /usr/share/roundcube/program/lib/Roundcube/rcube_charset.php に手を加えてみます.

# source: diff
--- rcube_charset.php.orig      2013-12-03 01:05:20.966192376 +0900
+++ rcube_charset.php   2013-12-03 01:06:28.031257391 +0900
@@ -229,6 +229,11 @@
         // convert charset using mbstring module
         if ($mbstring_list !== null) {
             $aliases['WINDOWS-1257'] = 'ISO-8859-13';
+            $aliases['JIS'] = 'ISO-2022-JP-MS';
+            $aliases['ISO-2022-JP'] = 'ISO-2022-JP-MS';
+            $aliases['EUC-JP'] = 'EUCJP-WIN';
+            $aliases['SJIS'] = 'SJIS-WIN';
+            $aliases['SHIFT_JIS'] = 'SJIS-WIN';
             // it happens that mbstring supports ASCII but not US-ASCII
             if (($from == 'US-ASCII' || $to == 'US-ASCII') && !in_array('US-ASCII', $mbstring_list)) {
                 $aliases['US-ASCII'] = 'ASCII';

...こんなんで良いのかなぁ.

mbstringJIS, ISO-2022-JP, EUC-JP, SJIS, SHIFT_JIS を扱う際に, Roundcube 内で global に alias を定義しておくと良いのかもしれませんが, あんまりコード眺めてないので対応がこれで良いのか定かではありません. 誰か教えて下さい.

あ, 対応する Roundcube の version は 0.9.5-1~bpo70+1 です.

にんともかんとも.


連絡先など
最近の日記
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|
Back to Top ▲