MTに移行中→ブログアフィリエイト備忘録

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

postmailの文字化け対策 

cgiのメールフォームの1つにpostmailというものがあります。

中々便利なのですが、フォームを置いているサイトの文字コードがUTF-8だと、文字化けが起こってしまいます。これはMovable Typeをデフォルトの文字コード(=UTF-8)で設置していると起こってしまいます。

そこで、以下にcgiの改造箇所を書いておきます。ようは備忘録ってことでw
引用元:kent-webの掲示板

ロリポップでは、Jcodeモジュールがインストールされているようなので、以下の改造をして見てください。
(動作確認は取れていますが、改造する前にスクリプトをコピーして、何処かわかりやすい所に保存しておいて下さい。
何かあった際に、それでやり直すことが出来ます)

postmail v3.04での改造方法です

postmail.cgiをテキストエディタ又はメモ帳で開いて下さい。

665行目付近

# jcode.pl バージョンチェック
print "<li>jcode.plバージョンチェック:";

if ($jcode'version < 2.13) {
print "バージョンが低いようです。→ v$jcode'version\n";
} else {
print "バージョンOK (v$jcode'version)\n";
}

を丸々削除して下さい。

561行目付近

&jcode'convert(*key, 'sjis');
&jcode'convert(*val, 'sjis');



#&jcode'convert(*key, 'sjis');
#&jcode'convert(*val, 'sjis');

に、427行目付近

&jcode'convert(*_, 'jis' ,'sjis');



$_ = jcode($_)->jis;

に、410行目付近

&jcode'convert(*subject2,'jis');



Jcode::convert(\$subject2,'jis');

に、

403行目付近

if ($in{'name'}) {
$from = &mimeencode("From: \"$in{'name'}\" <$email>");



if ($in{'name'}) {
$in{'name'} = jcode($in{'name'})->sjis;
$from = &mimeencode("From: \"$in{'name'}\" <$email>");

に、90行目付近

require './jcode.pl';



use Jcode;

にそれぞれ変更して下さい。

そして、テンプレートのhtmlファイル全て、文字コードが変換できるテキストエディタで開いて、

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">



<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=utf-8">

に変更します。
保存の際には、utf-8で保存して下さい。



ポイントとしては、保存する際にUTF-8で保存することと、Jcodeモジュールがなければインストールすること。

ちなみに文字化けする原因は、フォームから送信した文字列はデフォルトのモジュールだとUTF-8から他の文字コードに変換できないので、それで文字化けが起こると…。
スポンサーサイト

お役に立ったら→FC2 Blog Ranking

YST(Yahoo!,ヤフー)対策ツール
資料の濃さにおどろきました アフィリエイトで即効使えるノウハウでした
初心者の在宅内職・副業
初心者向け副業ブログアフィリエイト入門

コメント

トラックバック

この記事のトラックバックURL
http://tam1234.blog9.fc2.com/tb.php/269-d3c11905

-

管理人の承認後に表示されます
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。