メールのタイトル用にエンコードする方法

CGIテクニック集トップへ





概要

メールのヘッダの日本語を文字化けしないようにMIMEエンコードします。タイトルやメールアドレスの日本語に適用できます。フォームメールグループメールで使用されています。

必用な処理

  1. PerlのPackage Jcodeを読み込む
  2. 文字列をMIMEエンコードする

サンプルコード

 use Jcode;
 
 my $string = "日本語文字列";
 
 my $encoded_string = jcode($string)->mime_encode;

コードの解説

 use Jcode;

PerlのPackage Jcodeを読み込みます。

 my $string = "日本語文字列";

$stringには任意の日本語文字列が入っています。この文字列をMIMEエンコードします。

 my $encoded_string = jcode($string)->mime_encode;

mime_encodeメソッドにより日本語文字列をMIMEエンコードします。これによりメールのタイトルなどのヘッダに日本語を文字化けすることなく付加することができます。

ちなみに「日本語文字列」という文字をMIMEエンコードすると

 =?ISO-2022-JP?B?GyRCRnxLXDhsSjg7ek5zGyhC?=

のようになります。

関連するCGIテクニック

文字コード変換の仕方
文字コードの取得
Shift_JISでの文字列サーチする方法
JISの長文メールの文字化けの解消
Perl 5.6.1でのUTF-8の処理の方法
英文スパムなどのアスキーコードのみの文字列を排除する方法