■和文コード
和文コードにはシフトJISコード、EUC-JPコード、ISO-2022-JPコード等があります。
UNIXマシンではEUC-JPコード、WindowsやMacマシンではシフトJISコードが採用されています。
テキストエディタによっては、どのコードで保存するのかを指定出来るものもありますがWindows付属のメモ帳等では勝手にシフトJISコードで保存します。
|
|
|
EUC-JPコードで保存された和文は文字化けを起こす事がありませんのでCGIプログラムをEUC-JPコードで保存し、これをUNIXサーバに設置して実行させれば文字化けを気にする必要はありません。
|
|
■シフトJISコードの文字化け
シフトJISコードが文字化けを起こす原因は、一部の2バイト文字の2バイト目が「\」と同じ文字コードを使用している為です。
Perl処理系では「\」を特殊文字(エスケープシーケンス)として処理しますので結果的に文字化けしてしまうという事です。
文字化けを起こす一部の2バイト文字には以下のようなものがあります。
|
|
|
実行すると「一覧侮ヲ」と表示されます。
回避するには
|
|
|
文字化けを起こす2バイト文字の直後に「\」を付けます。
または
|
|
|
シングルクオートで囲み文字列を展開させないようにします。
しかしこの方法では、以下のように
|
|
|
文字化けを起こす2バイト文字が最後に来た場合はプログラム実行エラーとなりますので注意して下さい。
この場合は
|
|
print '一覧表\';
または
print "一覧表\";
|
|
|
として、やはり文字化けを起こす2バイト文字の直後に「\」を付けます。
|
|
□更新履歴
2007.04.22 全体的に内容を見直し
|
|
|