アプリ版:「スタンプのみでお礼する」機能のリリースについて

キャリッジリターン(CR+LF)とラインフィード(LF)の違いについて良く分かりません。
Windowsの場合、改行(Enter)はキャリッジリターン(CR+LF)となるとのことですが、キャリッジリターン(CR+LF)の使用されたコードをUnix系サーバ(改行がLF)へ転送するとちゃんと動かないと聞きます。

質問1:
そこで、分からないのがWindowsXPにインストールされたテキストエディタ(TeraPad)やDreamweaver(MX2004)で作成したPHPコードの中の改行は、やはりラインフィード(LF)ではなく、キャリッジリターン(CR+LF)となってしまっているのでしょうか?

質問2:
実際にPHPコードの中の改行がラインフィード(LF)になっているか又はキャリッジリターン(CR+LF)になっているかは、どのように見分けるのでしょうか?

質問3:
PHPコードの中の改行がキャリッジリターン(CR+LF)になっている場合、それをそのままLinux系のサーバ(FreeBSD)にアップロード(つまり、バイナリモードでアップロード)すると、やはりそのプログラムはちゃんと動かないのでしょうか?

質問4:
PHPコードの中のキャリッジリターン(CR+LF)を、コードを崩さずに、一気にラインフィード(LF)に返還する方法は、ありますか?

注意:
このスレッドでは、ラインフィード(LF)やキャリッジリターン(CR+LF)など、異なる改行コードが異なるOSで使われ初めた理由や経緯をお聞きしているのではありません。プリンター関連の質問では、ないと言うことです。

よろしくお願いします。

A 回答 (6件)

キャリッジリターン(行頭復帰)はCRで、ラインフィード(改行)はLF。


改行復帰はCR+LF。別物です。

1.
保存方法による。が、おそらく改行復帰になっているでしょうね。秀丸などのエディタの一部で改行コードをLFで保存できる物もありますけど。

2.
バイナリエディタで開くか、前述の改行コードを指定できるエディタで開くか、Linux上で開くか。

3.
linuxの文字コードによる。とはいえ、まあ動かないでしょうね。

4.
FTPの際にアスキーモードで転送すればよいのでは?
もしくはnkfで変換するとか。
http://cns-guide.sfc.keio.ac.jp/2004/2/4/12.html
簡単なスクリプトを書くという手も。
http://d.hatena.ne.jp/himesuke/20080316/p1

この回答への補足

okg00さん
ご回答、ありがとうございました。

>保存方法による。が、おそらく改行復帰になっているでしょうね。
WindowsXPにインストールされたTeraPadやDreamweaverでPHPプログラムを作成した場合、どのような保存方法にすれば改行復帰(CR+LF)ではなくラインフィード(LF)で保存できるのでしょうか?

>秀丸などのエディタの一部で改行コードをLFで保存できる物もありま
>すけど。
>linuxの文字コードによる。とはいえ、まあ動かないでしょうね。
秀丸など改行コードをLFで保存できるエディタを使用せず、TeraPadやDreamweaverでphpプログラムを作成しておられる方は、Linux系のサーバ(FreeBSD)にファイルをアップロードする際、通常、FTPのアスキーモードでファイルを転送することによって、Windowsではラインフィード(LF)を入力できず改行復帰(CR+LF)となる問題に対処しておられるのでしょうか?

よろしくお願いします。

補足日時:2008/08/12 15:13
    • good
    • 0

> 秀丸など改行コードをLFで保存できるエディタを使用せず、TeraPadやDreamweaverでphpプログラムを作成



??Dreamweaverでも改行コードはLFにできますけど…?
[編集]-[環境設定]-[コードフォーマット]で、「改行タイプ」を”LF”にしておけば保存時にLFになりますが。
それとも質問者様のお求めになっているのは、そういう事ではないのでしょうか?

この回答への補足

abrilさん
ご回答、ありがとうございました。

質問1:
>??Dreamweaverでも改行コードはLFにできますけど…?
>[編集]-[環境設定]-[コードフォーマット]で、「改行タイプ」を”
>LF”にしておけば保存時にLFになりますが。
Dreamweaverでホームページ用のPHPプログラムやHTMLファイルを作成する場合は、通常、上記の「改行タイプ」をLFに設定しておくものなのでしょうか?

質問2:
また、現在のPHPプログラム内の改行が、改行復帰(CR+LF)になっているか又はラインフィード(LF)になっているかはどのようにしてわかるのでしょうか(できれば、Dreamweaverで)?

質問3:
PHPコードの中のキャリッジリターン(CR+LF)を、コードを崩さずに、一気にラインフィード(LF)に返還する方法は、ありますか?
Dreamweaverの「改行タイプ」を”LF”にした後、”LF”ではなく”CR+LF”で既に保存されているPHPプログラムを読み込んで、再保存(名前をつけて保存)すれば、”CR+LF”が”LF”に返還されますかね?

よろしくお願いします。

補足日時:2008/08/12 21:37
    • good
    • 0

> 秀丸など改行コードをLFで保存できるエディタを使用せず、TeraPadやDreamweaverでphpプログラムを作成しておられる方は


TeraPadも改行コードを指定して保存できます。
文字/改行コード指定保存という項目がちゃんとあるし、オプションでデフォルトの改行コードの指定もできる。

私が知ってる限りでは改行コードを指定できないエディタの方が珍しいです。

この回答への補足

Wernerさん
ご回答、ありがとうございました。

質問1:
>TeraPadも改行コードを指定して保存できます
Dreamweaver又はTeraPad等でホームページ用のPHPプログラムやHTMLファイルを作成する場合は、通常、上記の「改行コードの指定」を予めLFに設定しておくものなのでしょうか?

質問2:
また、現在のPHPプログラム内の改行が、改行復帰(CR+LF)になっているか又はラインフィード(LF)になっているかはどのようにしてわかるのでしょうか(できれば、Linux等リモート側でなく、DreamweaverやTeraPad等ローカルのコンピュータで)?

質問3:
PHPコードの中のキャリッジリターン(CR+LF)を、コードを崩さずに、一気にラインフィード(LF)に返還する方法は、ありますか?
Dreamweaverの「改行タイプ」を”LF”にした後、”LF”ではなく”CR+LF”で既に保存されているPHPプログラムを読み込んで、再保存(名前をつけて保存)すれば、”CR+LF”が”LF”に返還されますかね?

または、Dreamweaver、TeraPad等(他にPeggyも使用可能)の検索・置換機能でキャリッジリターン(CR+LF)を、コードを崩さずに、一気にラインフィード(LF)に返還する方法があれば教えて下さい。

よろしくお願いします。

補足日時:2008/08/12 21:39
    • good
    • 0

> 質問1:


> Dreamweaver又はTeraPad等でホームページ用のPHPプログラムやHTMLファイルを作成する場合は、
> 通常、上記の「改行コードの指定」を予めLFに設定しておくものなのでしょうか?
LFでないとだめなら私はそうしますけど。
機能として存在するんだから使わない理由はないでしょう。

> 質問2:
> また、現在のPHPプログラム内の改行が、改行復帰(CR+LF)になっているか
> 又はラインフィード(LF)になっているかはどのようにしてわかるのでしょうか
TeraPadならステータスバーに表示されます。
ほかのエディタでもステータスバーに表示されていることが多いです。

エディタによっては改行コードの種類によって
改行マークの形が変わるものもあります。
(Peggyはこのタイプ。)

> 質問3:
> PHPコードの中のキャリッジリターン(CR+LF)を、コードを崩さずに、一気にラインフィード(LF)に返還する方法は、ありますか?
1つのファイルを処理できればよいなら、
エディタでファイルを開いた後、改行コードを指定して保存するだけです。
ほとんどのエディタでこれでできる。

TeraPadにはメニューに「文字/改行コード指定保存」をいうわかりやすい項目があるし、
Peggyなら「名前をつけて保存する」ときに改行コードを選択できます。
試してみればすぐ分かることなのでとりあえずやってみてください。


もし複数ファイルを一気に処理したいなら、
そういうことができる一括置換ソフトを使った方がよいでしょう。

この回答への補足

Wernerさん
ご回答、ありがとうございました。

上記の件、了解しました。

補足日時:2008/08/13 02:19
    • good
    • 0
この回答へのお礼

Wernerさん

>LFでないとだめなら私はそうしますけど。
ここが、一番のポイントだと思います。Linux系のサーバは改行復帰(CR+LF)は使用せず、ラインフィード(LF)ですが、ローカルのWindowsXPでPHPプログラムの開発段階から改行復帰(CR+LF)を使用せず、ラインフィード(LF)にしておいたほうが良いのでしょうか?または、WindowsXPでPHPプログラムを開発する段階では、改行復帰(CR+LF)とし、サーバへの転送時にアスキーモードでラインフィード(LF)に返還するのが主流なのでしょうか?

>もし複数ファイルを一気に処理したいなら、
>そういうことができる一括置換ソフトを使った方がよいでしょう。
なにか一括置換ソフトをご存知でしたら、名前をお教え願えますか?

上記以外は、了解しました。

お礼日時:2008/08/13 02:45

更に質問を追加されていらっしゃいますが…私は質問者様が「Dreamweaverでは改行コードをLFにできない」という勘違いをされてらっしゃる点についてのみ、指摘させて頂いただけです。


質問1-3はいずれもキーワードが具体的になっておりますから、Dreamweaverのヘルプ・ファイルを見るなり、ググるなりでいくらでも調べられ(対処法が見つかる)ます。
質問者様は今迄の膨大な質問履歴から察するに同業者(プロ)の方とお見受けしておりますので、ここから先はご自分でお願い致します。いずれの質問もプロが第三者に助けを求める様なレベルのものではないと思いますので(と言ってもまあ、ANo.4様が詳細に回答されてしまってらっしゃるので質問者様はそれで済ませられてしまうかもしれませんけれど…)。

この回答への補足

abrilさん
ご意見、ありがとうございました。

補足日時:2008/08/13 02:20
    • good
    • 0

PHPやHTMLの場合は改行コードは気にしなくてもいいでしょう


CR+LFのままでもLinux上でPHP動きますから
CGI-Perlの場合は動かないので改行コードを変更しないといけませんがFTPソフトの変換機能(アスキーモード)で十分。
    • good
    • 0
この回答へのお礼

php504さん
ご回答、ありがとうございました。

上記の件、了解しました。

お礼日時:2008/08/14 12:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!