--> -->
#blog2navi() *IlohaMailでCP932を表示する [#la83d492] IlohaMailは一応一通りの日本語エンコードに対応しているようで、lang/jp/jcode.inc にも以下のコメントがあります。~ ~ ■lang/jp/jcode.inc #code(java,first-line:11){{ //0:AUTO DETECT //1:EUC-JP //2:Shift_JIS //3:ISO-2022-JP(JIS) }} (UTFはたぶんjp以外の所で対応)~ ~ しかし、auのezwebメールは、こんなcharsetで本文を送ってくるため、デコードできずに化けてしまいます。~ ~ ■ヘッダーの記述 >Content-Type: text/plain; charset=cp932 < ■本文 >���C����H ~ 8��9��`12��(3��4��j�淀����B < そこで、とりあえず読めれば良いので、CP932をSJISと見なして変換させます。~ 変更箇所は1カ所。 ~ ■lang/EUC-JP.inc ~ ■lang/EUC-JP.inc~ まずCP932を対応文字セットとして追加します。~ #code(java,first-line:31){{ $CS_CAN_CONVERT["ISO-2022-JP"]=1; $CS_CAN_CONVERT["EUC-JP"]=1; $CS_CAN_CONVERT["X-EUC-JP"]=1; $CS_CAN_CONVERT["Shift-JIS"]=1; $CS_CAN_CONVERT["JIS"]=1; $CS_CAN_CONVERT["ISO-8859-1"]=1; $CS_CAN_CONVERT["CP932"]=1; }} 次にCP932の場合はJcodeConvertでのAUTO DETECTが効かなかったので、if文で分けて処理します。~ #code(java,first-line:44){{ }else if (strcasecmp($charset, "x-euc-jp")==0){ if ($from_charset=="CP932"){ return JcodeConvert($string, 2, 1); } else { return JcodeConvert($string, 0, 1); } }else{ }} まずCP932を対応文字セットとして追加します。~ 次にCP932の場合はjcode.incでのAUTO DETECTが効かなかったので、if文で分けて処理します。~ ~ これで正常にデコードされるようになりました。 RIGHT:Category: [[[Linux>日記/Category/Linux]]] - 11:01:02 ---- RIGHT:&blog2trackback(); #comment(above) #blog2navi()