WordPressのデプロイやバックアップをしていたのですが、
「極端に長い日本語名のメディアファイル」が何件かあり、そこで不具合が発生し苦戦した件について。
なお、WP Multibyte Patchを使ってファイル名を強制的にMD5化する処理はSEO対策上使用不可能。
概要
BackupWpを使ってWordPressサイトを丸ごとバックアップしようとしていたら・・・
極端に長いファイル名の時だけ警告が出て、そのファイルの名前が一部%A1Qiitaのロゴ(以下略)
みたいにエンコードされたようになったり、全角文字から始まるファイルは完全に対象外になり、半角英数字の部分だけ残りファイル とみなされてしまう珍現象が発生した。
発生条件
極端に長いファイル名が一部エンコードしたようになり、欠損する現象は、圧縮形式をTar.Gzip(初期設定)にした時に発生する。
一方、全角文字から始まるファイルが完全に対象外になったりする現象は、圧縮形式をZipにした時に発生する。
対応
圧縮形式は Tar.Gzip を採用。Zip形式は使わない。
・・・と言うのも、これらのファイルを扱うのはWebエンジニアなので、
Windows環境では見慣れない拡張子を使っていても問題ない。
マルチバイト名のファイルの使用はOK。ただし長すぎるとファイル名を正しく保存することが不可能なので使用を控えるように依頼。