FTPでcssやjsファイルなどをダウンロードしたときに、中身が少し壊れている(文字化けしているような)ことが稀にあります。
サーバ移行などでファイルを大量にダウンロードするときに発生しやすいです。例えば、そのまま移行したけど、スライダーだけ動かない等です。その場合は、jqueryファイルが一部壊れて(文字化けして)いたりします。
スポンサーリンクファイルが壊れる・文字化けする理由
FTPのソフトなどでファイルをアップロードしたりダウンロードしたりするとき、転送形式を指定できます。「自動」「ASCII」「バイナリ」などかと思います。多くは「自動」になっているかと思います。自動の場合は、「ASCII」「バイナリ」のどちらかを判断し転送してくれます。
今回は「自動」で転送していたのですが、「ASCII」と判断されていました。そして「ASCII」でダウンロードするとファイルの一部が壊れる(文字化けする)ことがあるようです。
解決策
転送形式を「バイナリ」にしてダウンロードしてみてください。私の場合はこちらで解決できました。
いくつかのパターンを試しましたが、サーバによってはASCIIでも問題ない場合もありました。そもそもASCIIとバイナリの違いがあまり分かっていません。イメージ的にはテキストか否かというくらいのイメージです。今度ちゃんと定義を調べてみます。
余談1:いくつか試しました
いくつか試しましたので、参考までに掲載しておきます。ただ、サーバーによっては問題ないこともあるようです。もしかすると古いサーバーなどで起こる現象なのかもしれません。
①左側が転送形式を「バイナリ」でダウンロード、右側が元ファイル。問題なくダウンロードできています。→OK
②左側が転送形式を「ASCII」でダウンロード、右側が元ファイル。転送形式を「ASCII」でダウンロードすると、一部文字化けのような状態になっています。→NG
③左側が転送形式を「自動」でダウンロード、右側が元ファイル。転送形式を「自動」でダウンロードすると、一部文字化けのような状態になっています。→NG
ただ不思議なことが起きます。下記をみてください。
④左側が転送形式を「ASCII」でダウンロード、右側が転送形式を「自動」でダウンロード。この2つのファイルも異なりました。「自動」は「ASCII」か「バイナリ」を自動で振り分けるという機能です。つまり、転送形式を「ASCII」でダウンロードすると、毎回異なる壊れ方をするということだと思います。
⑤どちらも転送形式を「ASCII」でダウンロードしたファイルです。予想通り、異なる壊れ方(化け方)をするようです。
余談2:調査した理由
大量にダウンロードした場合、どのファイルが壊れているか分からないので、ある程度原因がわかってよかったです。今回移行がメインだったので、移行元のサーバを解約することになると、正常なファイルを取得・バックアップできなくなるので、少し原因を調べてみたところです。
ASCII・バイナリの知識がかなり怪しいので、勉強します…。
スポンサーリンク