Problem with filename encoding
Nilshar
nilshar at gmail.com
Tue Nov 13 08:32:54 UTC 2012
Hello list,
I got an issue with a filename containing "strange" characters.
It seems that nginx is not able to url_decode correctly, and then get the
right file.
Yes, the filename is ugly : "Capture d’écran 2010-09-25 à 08.30.07.png"
but apache is able to read it, and nginx is not :
nginx strace :
open("/<path>/images/Capture%20d%E2%80%99%C3%A9cran%202010-09-25%20%C3%A0%2008.30.07.png",
O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
apache strace :
open("/<path>/images/Capture d\342\200\231\303\251cran 2010-09-25 \303\240
08.30.07.png", O_RDONLY|O_CLOEXEC) = 100
So it seems that nginx is using the url_encoded version of the filename,
while apache do it's own thing on it.
On both apache and nginx, the access log says : "GET
/images/Capture%20d%E2%80%99%C3%A9cran%202010-09-25%20%C3%A0%2008.30.07.png"
both server have the same locales settings, and I tried different charset
configuration into nginx, but no luck..
Any idea how I can fix that without changing the filename (sadly, it's not
possible :/) ?
Thanks
Nilshar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20121113/79179089/attachment.html>
More information about the nginx
mailing list