MovableType等のCMSの多くは、文字コードにUTF-8を使っている。それくらいは知っているのだが、それがいかに不自由なことなのか知らなかった。今まで必要性を全く感じていなかったので、「お問い合わせ」とか言う「メールフォーム」を機能させるためのCGIの多くが、SJIS対応で作られているという事実を知らなかった。
何の気なしにKENT CGIからPostMailを拝借してきて、MTのページに問い合わせフォームのタグを埋め込みテストをしてみたところ、文字化けを起こすではないか。ん?ああ文字コードの問題ねと、構成htmlファイルの文字コードを変更してみたらますます文字化けが悪化。案の定受け取ったメールのソースを見てみたらことごとく、ISO-2022-JPの文字が。これじゃぁだめだよねと、CGIを少しいじってみたのだが、メールはUTF-8と認識させることに成功したと思いきややっぱり駄目。根本的に文字コードを変換する仕組みがUTF-8に対応してないんだと分かった。これ以上はプログラマの仕事だよね。
じゃあ、UTF-8対応のメールフォームCGIを探してくれば良いんだなと思いきや、あんまり数が無いみたいで、見つけた殆どが有料で販売されている。有料だけあって色々な機能が実装されていてそれで付加価値をつけて商売しているんだなと分かった。そんな機能は要らないんだけどな。UTF-8は標準化される(普及する)までは当分お金のかかる規格だなと痛感したわけだ。
もちろんフリーで公開して下さっている数少ないCGIもあるのだが、利用規約をよく読むと少しでも利益が見込めるサイトの場合は商用扱いになると書かれていて、完全に個人用という用途でしか無償で利用させていただくことは出来ないと分かった。小さなお店のHPを知人から頼まれて再構成しているのだが、今の状況よりもお金がかかるとなると難しいなと思えてきた。
一番てっとり早いのは、新規ウィンドウをポップアップしてSJISで気兼ねなくCGIを動作させれば良いのである。そうすればブラウザの「戻る」を操作してしまい入力していた問い合わせメッセージが消えてしまうなんてアクシデントも未然に防げるだろう。だけどそういうのは見栄えが悪いというか、埋め込みたいというのがサイトの所有者としては本音なんだろうなと思ったりもする。
もっとも、MovableTypeの場合はメールフォームを生成するプラグインがあるらしいので、それでやってみても良いかも知れない。問題はPerlなりPHPなりがメール送信時に使用するモジュールがレンタルサーバにあるかどうかだろう。その点ホームサーバなら無ければ追加と言う最短の方法が取れるので楽なのだが。
今まで必要性を感じなかったところに色々な課題があるんだなと勉強になっている今日この頃。商売でHP作成の依頼を受けている人の大変さや気持ちが少し分かった気がする。さてどうしようかな。


コメント