※ 編集を受けて追記
※ 重要なので前に追記
FTPソフト使用時に問題が起きないのか教えてください
WindowsなのでCRLFで統一すべきということで間違いありませんか?
まず、FTPソフトについtです。
誤解しているようですが、ファイルの転送についてFTPソフトに問題が生じることはありません。FTPソフトの設定が不適切だと、 転送したファイルに問題が生じるのです。
さて、ここで前提になるのは、システムによってデフォルトの改行コードが決っていることですが、問題になるのは、そのシステムで動くツールには、他の改行コードではうまく動かないものがあるため、システムに合せた改行コードにする必要がある、ということです。
このことは、システム間でファイルの転送を行なわなければ通常問題になりませんし、システム間のファイル転送はFTPソフトで行なわれることが多いので、関連付けられるものです。
また、別途説明したとおり、FTPソフトには、転送時に改行コードを自動で変更してくれる機能もあったりしますが、不必要なファイルを変更してしまったりすることがあるので、その機能は使わないのが一般的です。
そして、もう一つ重要なことは、デフォルトの改行コードと違う改行コードのファイルがあってもそのことそのものは問題にはならないことです。
WindowsだからファイルはCRLFでなければならないということはありません。 ツールによっては正常に扱えないかもしれないので、Windowsで使うファイルであればCRLFにしておいたほうが問題が少ない、ということです。
質問者さんの場合、(たぶん)改行コードがLFのさくらインターネットのサーバ上で利用するファイルを、デフォルトの改行コードがCRLFのWIndows上で操作している状態ですよね。 この場合、
- Windows上ではCRLFで編集していて、転送する前に対象のファイルをLFに変更する。
- Windons上でも、対象ファイルはLFで扱う。
の2択です。 (FTPでの改行コードの変更は使わない前提)
これまでの経験からすると、2 の 対象のファイルはLFで扱う方式の方が間違えが少なくていいと思います。
Windows上のツールによっては、正常に扱えないものがあるかもしれませんが、そのようなツールは使わなけれぼいいでしょう。最近のエディタであれば、問題なく扱えます。
※ 始めの投稿内容
まず言えることは
- 1つのファイルに改行コードを混在させるべきではない。
- OSによってデフォルトの改行コードは決っている。Windowsは「CRLF」Mac/Unix(Linux)は「LF」(Macは昔は「CR」でした)
- システム間でテキストデータをやりとりする場合は、改行コードを意識すべき。
であるということです。
混在している場合、そのファイルを扱うシステム/アプリによっては、それが改行であると認識されなかったり、余計な情報があると認識されてしまう可能性があります。
同じファイルをメモパットで開き修正したり、サクラエディタで修正することを混同してしまうことが原因になったりしますか?
エディタの機能や設定によって混在の原因になる可能性はあるでしょう。ですが、大抵のエディタは元の改行コードのまま編集できるので、直截原因になることは少ないと思います。
「FileZilla」を使っておりソースコードが混在すると後々エラーが起きる
FTPソフトは、便利機能として、転送時に改行コードを転送先のシステムに合せて変換する機能(Asciiモード)があります。ただし、自動での変更は、予期にさい変化を生んでしまう可能性があるため、この機能は無効にして運用することが多いです。この場合、転送にあたっては、送るファイルをどの改行コードにすべきか意識する必要があります。
改行コードを何にすればFTPソフト使用時に問題が起きないのか教えてください
上記のように、転送ときに問題が置きるかどうではなく、転送先に配置するファイルの改行コードを何にすべきないのかという問題です。
①ログが出たときにCRLFに統一すればいいのか
出た場合は、統一すべきです。
②ダイアログを出さない設定にすると自動でCRLFに統一されて保存されるのか
出ないようにすると、混在したままです。
③そもそも統一する必要がない、または別のコードにする必要があるのか
ファイル内での改行コードの混在はNGです。
複数ファイルの場合は、そのファイルの役割によって異なります。
どのコードにすべきなのかについては、そのファイルをどのように使うかによって、決定すべきです。