[Blog_users_ml] エントリ通知メールの文字化け
Naoki Shigematsu
blog_users_ml@dropcontrol.com
Thu, 13 Nov 2003 01:51:17 +0900
重松です
> メール関係でいくと、以下のような問題もあると思って、
> 昨日からソース見始めてます。
:
> *) 日付が、アスキーのまま送られて、Jcode.pm が上手く識別できなくて、
> 文字化け
というわけで見てみました。
ウェブログの設定で、日付用の言語を日本語に設定していた場合、
メール通知を行うと、日付部分が文字化けして送信される問題がありました。
MT をハックするのが今回が始めてなので、かなり自信がないのですが、
以下の修正で解消されます。
Unicode::String モジュールが必要です。
http://search.cpan.org/~gaas/Unicode-String-2.07/
[MT]/lib/MT/Mail.pm の、23 行目の require Jcode; の前に、
以下の 2 行を追加すれば OK です。
use Unicode::String;
$body =~ s/&#(\d\d\d\d\d);/Unicode::String->new()->chr($1)/ge;
23 require Jcode;
24 $body = Jcode->new($body)->jis;
:
==
--- Mail.pm.default 2003-11-13 01:42:53.000000000 +0900
+++ Mail.pm 2003-11-13 01:42:35.000000000 +0900
@@ -20,6 +20,9 @@
@{[ MT->version_slug ]}
SIG
+ use Unicode::String;
+ $body =~ s/&#(\d\d\d\d\d);/Unicode::String->new()->chr($1)/ge;
+
require Jcode;
$body = Jcode->new($body)->jis;
$hdrs->{Subject} = Jcode->new($hdrs->{Subject})->mime_encode;
--
(株)インプレス 技術部
重松直樹 <sigematu@impress.co.jp>
Zip: 102-0075 千代田区三番町20番地
Tel: 03-5275-9017 (内線2354) Fax: 03-5275-9047
Uri: http://www.impress.co.jp/