2010.12.15
【ファイルの文字コード】
・tmpl 内ファイルはUTF-8
・postmail.cgi はShift_JIS もUTF-8
【CGIの書き換え箇所】
1. 文字コード変換ライブラリ【サーバパス】
require 'jcode.pl';
↓
use Jcode;
2. テンプレ変数変換
&jcode::convert(\$tbody, 'jis');
↓
&Jcode::convert($tbody, 'jis');
3. 本文内容
&jcode::convert(\$tmp, 'jis', 'sjis');
↓
&Jcode::convert($tmp, 'jis', 'utf8');
4. コード変換
&jcode::convert(\$key, 'sjis');
&jcode::convert(\$val, 'sjis');
↓
削除
5. チェックモード
<meta http-equiv="content-type" content="text/html; charset=shift_jis">
↓
<meta http-equiv="content-type" content="text/html; charset=utf-8">
6. BASE64変換
$sub = "=?ISO-2022-JP?B?" . &b64enc($sub) . "?=";
↓
$sub = "=?utf-8?B?" . &b64enc($sub) . "?=";
7. メールSubjectは1バイトで!
◎cgiをShift_JIS保存すればメールSubjectは日本語でも文字化けしないけど、
代わりに確認画面などが文字化けするので、思い切ってメールSubjectは英語表記で!
多分コレでOK。
※個人的メモなので、質問受け付けできません。
※使われても結構ですが、何も保証できません。