|
![]() ![]() ![]() ![]() ![]() | |
せっかくレンタルサーバでメールを受信しているので、色々自由が効くんだし、受信したメールのメールタイトル(Subject)/Toアドレス/Fromアドレスの情報を、携帯電話へお知らせする機能を作ってみることにしました。 参考にしたサイトはこちらのサイト。 こちらでは、メールタイトルに「至急」が入っている場合に転送を実施するようになっていますが、この部分を時間帯(7時ごろから24時まで限定)にして、メールタイトルのエンコードが怪しげじゃないやつに限定するようにして、実装してみることにしました。 しばらく運用していると、一部のメールのタイトルが文字化けしてしまうことが判明。 Facebookの通知メール他、いくつかのメールが該当。 詳細を調べてみると、メールタイトルがUTF-8でエンコードされているものに限って、この状況が起きるみたいなんですね。 一部のコードに、文字コードを限定していたり決めつけていたりするものが入っているのかな?と思い、ソースコードを眺めてみましたが、特に見つからず... (いくつかのソースコメントは、文字コードをJISと決めつけている部分はあるし、最終的なメール本文の文字コードはEUC-JPとなるので、そこで発生するのかとアタリを付けてみましたが、そんなこともなく。 いくら見てみても、正常に動作するとしか思えない。 そこで、色々ググってみたら、こんな情報が! Perlのjcode.plは2002年で開発が止まっており、この頃の時代背景からして、どうやらUTF-8への対応は行われていないとのこと。 代替ライブラリを使う必要があった。最初からこの結論にたどり着きたかった。 というわけで、上記のサイトに記載の通り、
基本的にはこれで解決しました。 ちなみに、最終的な文字コードはEUC-JPになるため、メールタイトルの中にアラビア語やハングルなどの EUC-JP で表せない文字が入っていると、当然文字化けします。 それを解決するために、追加で、途中の文字コード変換("euc")・最終的な文字コード変換("jis")を共に "utf-8" に書き換えてやり、このソースコード自体も UTF-8 で保存する措置を加えました。 これで、うまくいくかな? 目次の表示: ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメール、フィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。 当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。 |
- 最近の更新 - |
|
3279657 (+0406)[+0505] Copyright© 2010-2025 INASOFT |