天天看点

webclient 下载文件名与服务器保持一致_无解吗?Nginx无法下载中文文件名

webclient 下载文件名与服务器保持一致_无解吗?Nginx无法下载中文文件名

想利用Nginx搭建一个下载站,非常简单的利用目录浏览功能实现下载。

修改nginx.conf配置文件:

location / { root d:/xiazai; #指定目录所在路径 autoindex on; #开启目录浏览 autoindex_format html; #以html风格将目录展示在浏览器中 autoindex_exact_size off; #切换为 off 后,以可读的方式显示文件大小,单位为 KB、MB 或者 GB autoindex_localtime on; #以服务器的文件时间作为显示的时间 charset gbk,utf-8; #展示中文文件名,顺序很重要  if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){ add_header Content-Disposition attachment; }  }
           

访问网站,成功。

webclient 下载文件名与服务器保持一致_无解吗?Nginx无法下载中文文件名

下载英文的文件名,一切正常。但是访问中文的文件名就报错。

webclient 下载文件名与服务器保持一致_无解吗?Nginx无法下载中文文件名

查找日志文件error.log,发现错误提示如下:

No mapping for the Unicode character exists in the target multi-byte code page
           

通过网络查找了很多资料,还是没有很好的解决办法,难道nginx对于中文真的无解吗?