项目场景

使用Nginx做目录代理的时候,中文命名的文件在前端出现乱码问题。

问题描述

我的nginx代理配置如下:

server{
    listen 3370;
    server_name localhost;
    autoindex on;
    location / {
      root /opt/local/work_notes; #文件目录
    }
}

保存配置重启Nginx,然后访问服务器的3370端口,包含中文命名的文件在前端页面显示乱码,如下:

初步推测是编码方式出现问题。


解决方案

手动指定nginx在该server下的字符编码格式即可。

即在server块的配置中添加charset utf-8

修改后的配置文件如下:

server{
    charset utf-8;
    listen 3370;
    server_name localhost;
    autoindex on;
    location / {
      root /opt/local/work_notes; #文件目录
    }
}

保存修改后的配置,然后重启nginx 或者重载配置

补充

重启Nginx:nginx -c /path/to/nginx.conf

重载配置:nginx -s reload

再次访问相应的端口即可目录或者文件出现的乱码问题。

希望对你有帮助!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐