cgiファイルが日本語入力すると壊れてNo.10627
ひらま さん 01/12/07 07:37
 
平間と申します。
初めて投稿する初心者です。

「改行」で検索し過去ログを見たのですが、分からなかったのでお教えください。

WINxp 秀丸3.10です。

rank.cgiファイルを秀丸で開き、日本語入力した後保存して、FTPでupしました。

すると、WWWブラウザで確認するとエラーが表示されましたので、プロバイダーに
問い合わせたところ、
ここからーーーーーーー
CGIプログラムの改行コードがWindows用(CR+LF)のものになっていた
ようです。CGIプログラムの改行コードは、
UNIX用(LF)でお願いいたします。
FTPソフトでバイナリ転送する場合は、CGIプログラムを保存する時
UNIXの改行コードで保存してください。
また、Windowsの改行コードで保存してもFTPでファイル転送する時に
アスキーモードとして転送していただければ問題は起きないと思われます。
ここまでーーーーーーー
と返信いだきました。

そこで、上記の通り
保存するとき、
 改行コード SHIFT-JIS (改行=LF)
としてやってみたのですが、ダメでした。

秀丸で日本語入力せずに、外部アプリで日本文を作成、コピーし、秀丸で開いたcg
iファイルにペーストしたとき、cgiは問題なく動きました。

おそらく環境設定をいじってしまったようなのですが、原因が分かりません。
どうかお教えください。
よろしくお願いいたします。

[ ]
RE:10627 cgiファイルが日本語入力するNo.10629
WIZ さん 01/12/07 10:34
 
ひらま さん、こんにちは。WIZです。

>rank.cgiファイルを秀丸で開き、日本語入力した後保存して、FTPでupしました。
<略>
>保存するとき、
> 改行コード SHIFT-JIS (改行=LF)
>としてやってみたのですが、ダメでした。
EUC/改行=LF でやってみてはどうでしょうか?
一番は、サーバーにアップロードする時にASCII転送
で行うことだと思うんですが…。
# サーバーはUNIX系のOSですよね?

[ ]
RE:10627 cgiファイルが日本語入力するNo.10630
TAKA さん 01/12/07 12:13
 
平間さん、はじめまして。TAKA と申します。

> 改行コード SHIFT-JIS (改行=LF)
>としてやってみたのですが、ダメでした。

どう、だめだったのでしょうか?
秀丸で出力したファイルの改行がLFになっていないのでしょうか?
バイナリエディタ等で秀丸で出力したファイルの改行を確かめて下
さい。LFになっているなら、転送ソフト側の設定をどうにかするし
か出来ません。(秀丸ではLFで出力した訳ですから)

SHIFT-JIS (改行=LF)にしたにも関わらず、LFになっていない
なら、どうなったのでしょうか?

まずは、どうなったかを報告しないと、解決は難しいと思います。

試しに、SHIFT-JIS (改行=LF)で出力したファイルをバイナリ
ダンプしたところ、0x0Aとなっていました。

Ver3.13で、保存時のダイアログは、「その他→動作環境→ユー
ザーインターフェース→ダイアログの種類→「開く」のダイアロ
グ」で「Windows95タイプ(複数選択)」を使用しました。

[ ]
RE:10629 cgiファイルが日本語入力するNo.10664
ひらま さん 01/12/08 18:41
 
WIZさん

平間です。

お忙しいところ返信いただきまして、ありがとうございます。
勉強不足で申し訳ございません。

>EUC/改行=LF でやってみてはどうでしょうか?

やってみましたが、サーバーエラーと表示されます。

>一番は、サーバーにアップロードする時にASCII転送
>で行うことだと思うんですが…。

両方でやってみましたが、同じ結果でした。

># サーバーはUNIX系のOSですよね?

はい。そうです。

ありがとうございました。






[ ]
RE:10630 cgiファイルが日本語入力するNo.10666
ひらま さん 01/12/08 21:27
 
TAKAさん

平間です。

返信ありがとうございます。

>どう、だめだったのでしょうか?

サーバーエラーの表示がでます。

>秀丸で出力したファイルの改行がLFになっていないのでしょうか?
>バイナリエディタ等で秀丸で出力したファイルの改行を確かめて下
>さい。LFになっているなら、転送ソフト側の設定をどうにかするし
>か出来ません。(秀丸ではLFで出力した訳ですから)

バイナリエディタは使ったことがありません。
Stirlingを使って開いてみましたが、LFになっているのか、私には分かりませんで
した。

>SHIFT-JIS (改行=LF)にしたにも関わらず、LFになっていない
>なら、どうなったのでしょうか?
>まずは、どうなったかを報告しないと、解決は難しいと思います。

説明不足で申し訳ございません。

>試しに、SHIFT-JIS (改行=LF)で出力したファイルをバイナリ
>ダンプしたところ、0x0Aとなっていました。

正常にインターネット上でCGIが表示したとき、
表示しなかったときも、
改行の部分は、
42 0A
でした。

もちろん、アクセス権の設定はしてあります。

私がうまく状況を説明できないので、アドバイスをいただくことは難しいだろうと思
います。
お時間をおかけすることは申し訳ないので、しばらく自分で試行錯誤してみます。
ありがとうございました。



[ ]
RE:10666 cgiファイルが日本語入力するNo.10667
TAKA さん 01/12/08 21:52
 
TAKA です。

>>どう、だめだったのでしょうか?
>
>サーバーエラーの表示がでます。

いえ、そういう意味ではなくて、秀丸でどのような手順でテキスト
ファイルを作成し、どのような手順で保存したか、その結果、改行
コードがどうなったかということが知りたかったのです。
また、サーバーエラーと言われても、それは、秀丸には関係ないで
す。
知りたかったことは、秀丸側での問題です。

こちらでは、以下のテキストを用意し、手順は、10630の通りで、
正常にLFで出力されました。

// テストファイル(ここから)
TEST
[EOF]
// テストファイル(ここまで)
[EOF]はファイルの終了


>正常にインターネット上でCGIが表示したとき、
>表示しなかったときも、
>改行の部分は、
>42 0A
>でした。

少なくとも、42は改行ではなくて、アルファベットの「B」です。
42 0Aと言うことは、「B」とLFなので、秀丸側は正常のようです。


>お時間をおかけすることは申し訳ないので、しばらく自分で試行錯誤してみます。

今の所、秀丸側はまったく関係ない(正常)ようです。


早く問題が解決するといいですね。それでは。

[ ]
RE:10666 cgiファイルが日本語入力するNo.10670
ひろ さん 01/12/09 00:13
 
 平間さん今日は、ひろです。
 なんだか基本的にファイル転送のことが解っておられないような気がしま
す。普通の FTP クライアントなら、ASCII モードで転送すれば、文字コード
は兎も角改行コードの変換をします。また転送先の改行コードが LF 以外で
も、設定次第で出来るソフトウェアもあります。

> 改行の部分は、
> 42 0A
> でした。
となっているので、改行コードは問題なく LF になっています。

 次の内どちらかの方法でアップし直してください。
(1)秀丸で文字コードは「EUC (改行=LF)」で保存し、アップロードするとき
にバイナリモードで転送する
(2)秀丸で保存するときは、標準の「SHIFT-JIS」で保存し、アップロードす
るときは ASCII モードで転送する。ただし FTP クライアントの設定項目が
あれば、転送先の改行コードは LF にしておく
 これで CGI の出力結果が文字化けをすることはあっても、エラーにはなら
ないと思います。要するに最初の投稿時のプロバイダーの説明を素直に行え
ばよいです。文字化けが起きるなら、同じようにサバーで指定された文字コー
で保存してバイナリモードで転送するか、Shift-JIS で作成して転送時に
FTP クライアントのの機能でコード変換してください。
 どちらにしても FTP クライアントのヘルプもよく読んでください。

[ ]