まず、UTF-8全体 を参照してください。 一般的に非ASCII文字をアプリで機能させるために正しく行う必要があるすべてのことについて。
第二に、Web上で非ASCIIファイル名のファイルを提供するのは…トリッキーです…。 1)すでに行っているように、これらのファイルのすべてのURLをパーセントエンコードでエンコードする必要があります。 2)WebサーバーはそのURLを取得し、それをバイト文字列にパーセントデコードしてから、基盤となるオペレーティング/ファイルシステムにその文字列の名前のファイルを探すように依頼します。これは注意が必要な部分です。OS/ファイルシステムがそのファイルを正確に表すために使用するバイト文字列を正確に知ることはできません。最初にそれを理解してから、URLを具体的にエンコードして、正しい文字列に正確にデコードされるようにする必要があります。
また、別のサーバーに移動する場合、特にWindowsから* NIXに、またはその逆に移動する場合は、それらのシステムの動作が大きく異なるため、もう一度やり直すことができます。
一言で言えば、それは価値があるよりも面倒であることが多く、それをすべて避けるために、ASCIIのみの名前で画像を保存する必要があります。特に国の場合、画像名に2文字の国コードを使用することは非常に理にかなっています(例: "cz.jpg")。