改造する際に、良くあるミスです。
改造そのものについては、ここでは説明しません。
CGIで使う Perl という言語の特性上、以下の文字は文字化けします。
― | ソ | Ы | Ⅸ | 噂 | 浬 | 欺 | 圭 | 構 | 蚕 | 十 | 申 | 曾 | 箪 | 貼 | 能 | 表 | 暴 | 予 | 禄 | 兔 |
喀 | 媾 | 彌 | 拿 | 杤 | 歃 | 濬 | 畚 | 秉 | 綵 | 臀 | 藹 | 觸 | 軆 | 鐔 | 饅 | 鷭 | 纊 | 犾 |
例えば、「ソースを表示します」は「メ[スを侮ヲします」になってしまいます。
これを防ぐには、これらの文字の後には必ず ¥ をつけます。
つまり、「ソースを表示します」は「ソ¥ースを表¥示します」と記述することで、防げます。
CGIで使う Perl という言語の特性上、ダブルクォートやシングルクォートは注意しなければいけません。
ダブルクォートで囲まれたものの中で、ダブルクォートは使えません。
同様に、シングルクォートで囲まれたものの中で、シングルクォートは使えません。
どうしても使いたい場合は、¥ を前につけます。
例えば、
print "<font color="red">";
は、ダブルクォートで囲まれたものの中にダブルクォートがあるので、サーバーエラーとなります。
単純に、"<font color=" で囲まれたとCGIは誤認できるからです。
そこで、
print "<font color=¥"red¥">";
と記述しなければいけません。