CGIのカスタマイズ−応用編−

まずCGIをカスタマイズする時の注意を述べてみよう。

CGIのカスタマイズの範囲

 一般にCGIのカスタマイズとはその作者が「ここまで」とか書いていて、基本的なファイルへのパスの設定や、タイトルの設定や、色の設定などを行うことをカスタマイズと言われています。
 そしてそれ以降の部分を書き換えると改造と見なされるようです。
 また一般にCGIのホームページでのサポート範囲はカスタマイズまでの段階で正常に動かない場合を対象とし、改造の方法や改造プログラムがうまく働かない場合はサポート外としています。(また逆にCGIとは何?という基本的な質問もサポートしていません。)

カスタマイズでの注意

 あちこちのCGIサイトのサポートを見ていますと一番多い間違いはパス指定の間違いです。GIFが表示されないとかデータが読めないという問題の原因の殆どはパス指定が間違っています。

 次に多い間違いがカスタマイズの時にうっかり " を消してしまったとか行の最後の ; (セミコロン)を消してしまった場合もよくあります。CGIは例え1000行以上あるようなものでも " 一つ抜けるだけで全く働きません。
 アイコンを足したりして書き足す場合は特に注意が必要です。

 またCGIを見易くするためにスペースなどで行頭を揃えたりする場合注意が必要なことは、その場合必ず半角スペースかTabキーを使って行う必要があり、うっかり全角スペースを使えばエラーとなります。

 CGIのカスタマイズ部分にはよくタイトルとかコメントを挿入する部分がありますが、そこでの書き込みの注意としては下記の文字化け以外に重要なポイントがあります。CGIプログラムは ' " を命令の区切りと認識しますのでその部分に ' " を使用するとスクリプトエラーを起こします。その場合は \"*********\" のように\を入れて命令ではないことを明示する必要があります。その他@&; などCGIの命令に使用される記号にも注意が必要です。

 また作者がサンプルとして書いてあるものを良く見てカスタマイズする必要があります。例えば自分のメールアドレスを入れる場合、その例として作者がuser\@***.ne.jpと書いている場合は必ず@の前に\を入れておかなければなりません。逆に作者が\を入れていないのに気を利かせて\をいれるとエラーになることもあります。CGIは作者が動作確認を行ってそれぞれ調整してありますのでその例を必ず参考にするようにして下さい。

カスタマイズでの文字化け

 殆どのサーバーはUNIX(EUC)で動いていますが、実際に表示される文字はシフトJISコードで殆どのプログラムは表示されます。
 その場合起こりやすい現象が文字化けです。@などの機種依存文字以外にも必ず化ける文字があります。
 その例は

  ソ bl ― \ 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄
  兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀藹 觸 軆 鐔 饅 鷭 x x

などの文字ですが、例えば「表示」と表示させるためには「表\示」という具合に\を入れるだけで文字化けを免れることが出来ます。予め分かっている場合は\を入れておいてもいいですし、実際に表示されてから気が付いた場合はその文字の後に\を入れておくといいでしょう。