Przede wszystkim zobacz UTF-8 przez całą drogę za wszystkie rzeczy, które musisz zrobić poprawnie, aby znaki spoza ASCII działały ogólnie w Twojej aplikacji.
Po drugie, jest… trudne… udostępnianie plików o nazwach innych niż ASCII przez Internet. 1) Musisz się upewnić, że kodujesz wszystkie adresy URL dla tych plików z kodowaniem procentowym, jak już to robisz. 2) Serwer sieciowy przyjmie ten adres URL, procentowo zdekoduje go do ciągu bajtów, a następnie poprosi bazowy system operacyjny/plikowy o wyszukanie pliku o nazwie z tym ciągiem. To jest trudna część:nie będziesz wiedział dokładnie, jakiego ciągu bajtów twój system operacyjny/system plików używa do dokładnego reprezentowania tego pliku. Musisz najpierw to rozgryźć, a następnie zakodować adres URL, aby dekodował dokładnie do prawidłowego ciągu.
A kiedy przenosisz się na inny serwer, zwłaszcza jeśli przenosisz się z systemu Windows na *NIX lub odwrotnie, możesz to zrobić od nowa, ponieważ ten system działa zupełnie inaczej.
Krótko mówiąc, często jest to bardziej kłopotliwe niż jest warte, i powinieneś przechowywać swoje obrazy z nazwami tylko ASCII, aby tego uniknąć. Szczególnie w przypadku krajów sensowne byłoby użycie dwuznakowych kodów krajów w nazwie obrazu (np. „cz.jpg”).