我使用python将我的网站生成为静态文件并将其上传到网络服务器。我该如何处理utf-8文件名?
我有一个utf-8文件名가요.html,它使用:
返回404try_files $uri $uri.html
使用strace nginx正在寻找八进制的UTF-8字节:
\352\260\200\354\232\224.html
我尝试了$ request_uri而不是$ uri,我看到nginx正在寻找编码的网址:
%EA%B0%80%EC%9A%94.html
가요.html存在于nginx目录中。我可以在nginx中解决这个问题而不使用$ request_uri和url编码服务器上的文件名吗?让nginx正确找到"가요.html"通过在这假设utf-8编码?
编辑 - 这不是一个nginx问题吗?我只是做了一点你好,nginx正确地服务了它:
[pid 228568] recvfrom(3, "GET /%E4%BD%A0%E5%A5%BD "..., 1024, 0, NULL, NULL) = 847
[pid 228568] stat("/webroot/\344\275\240\345\245\275", {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
相同的设置,相同的目录,带有由strace报告的octals的stat。
答案 0 :(得分:0)
问题是在具有韩文文件名的Mac上创建的文件以分解形式保存,而其他所有人都使用预先组合。具有两个不同unicode值的相同文件名。