びーだま
[E-Mail]
2000/03/25(土) 14:34:44
> CGIスクリプトの場合でしたらテキスト形式ですが、
> テキスト形式には(*)2種類あって、EUCとSJISです。
少し、間違いというかうーんちょっと誤解を招くかもしれませんね。
EUCやSJISというのは、テキスト形式の種類と説明するより、
日本語の漢字コードと言った方がいいかもしれません。
もう少し広めにいうと、文字コードといった方がよくて、
JISとか、Unicodeとかの場合もあります。
でも、ここでは、CGIのお話の様ですから、実用的には、EUCか
SJISのどちらかになりますね。
で、テキスト形式と行った場合、これは改行コードの違いに
由来します。Windowsのテキスト形式は、CR + LF ですが、
Unix では、LF Macintosh では、CR となります。
通常、多くの場合では、ホームページを公開するサーバーは、
Unix ですから、テキストの改行コードは LF としなければ
なりません。
FTPを行う際(たとえばWindowsからUnix)、バイナリモード にすると
Windowsテキストは、CR + LF のままでアップロードされること
になります。このままでは、Unix上で CGI(PerlとしてUnixの
テキスト形式 LF を求められる場合に)を動かすことは出来ません。
ですので、この場合はアスキーモード(アップロード先のファイル
システムの扱う改行コードに変換)を選択します。
逆に、画像やプログラムなどのバイナリファイルを扱う際には、
この改行コード変換を行うアスキーモードを選択してしまうと、
やっかいなことに、CR が取られてしまったりするわけですから、
データが変更されてしまい、結果として表示や実行が出来なく
なってしまうのです。