サーバー間で移動した後、一部のキリル文字のファイル名が壊れてしまいました

サーバー間で移動した後、一部のキリル文字のファイル名が壊れてしまいました

ウェブサイトをあるサーバーから別のサーバーに移動したところ、キリル文字のファイル名に問題が発生しました。WordPress のキリル文字の URL には問題ないものの、一部は壊れています。以前のサーバーでは問題ありませんでした。

次のような感じです: WordPress の画像ライブラリに、URL が「/wp-content/uploads/2013/11/олимпийские-новогодние-шары.jpg (URL エンコードされたバージョン/wp-content/uploads/2013/11/%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D1%80%D1%8B.jpg:)」の壊れた画像があります。

この URL に移動すると 404 エラーが表示されます。

次にFTPに行き、そこからファイル名をコピーし(олимпийские-новогодние-шары.jpg)、URLに移動します。/wp-content/uploads/2013/11/олимпийские-новогодние-шары.jpg

(URLエンコードバージョン: /wp-content/uploads/2013/11/%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B8%CC%86%D1%81%D0%BA%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D1%80%D1%8B.jpg)

動作するようになりました!

もう一度:

  • олимпийские-новогодние-шары.jpg- 壊れた
  • олимпийские-новогодние-шары.jpg- 動作します。

まったく同じに見えます。上記の URL をコピーして貼り付けて確認してください。

動作するファイル名(FTP または SSH からコピー)を持つ URL を取得し、キーボードからキリル文字のファイル名を 1 文字ずつ置き換えると、й(FTP からコピー)をй- キーボードから入力/WordPress からコピーに変更するまでは正常に動作します(200 OK)。

本当に驚きです! 同じように見える文字が、ある場合には機能するのに、別の場合には機能しません。また、や などйの他のキリル文字では機能しないのはなぜですか? キーボードからこれらの文字 (FTP からコピーしたファイル名内) を置き換えても、404 エラーは発生しません。шд

よく見ると、URL エンコードされたバージョンはまったく同じではありません。

%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B8%CC%86%...
%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B9%D1%81%...

しかし、なぜ、そしてどのようにそれに影響を与えることができるのでしょうか?

関連情報