Nginx下无法使用中文URL的解决方法

服务器管理 强烈建议 2024-02-07 14:21 190 0

  在Apache中,要实现对中文的支持需要单独加载中文模块,而Nginx是支持多种编码不需要安装其他组件的,只是默认是走UTF-8的支持路线。这里提供两种方法实现Nginx对中文URL的支持。

  方法一

  利用convmv对文件名转码

  此方法治标不治本,仅供紧急时候使用(访问量大时间段,无法对服务器进行重启操作的时候)。

  这里以CentOS为例,其他系统同理。

  安装convmv

  yum -y install convmv

  转码

  convmv -fGBK -tUTF8 -r –notest target

  其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名,target是目标目录。

  方法二

  更改Nginx站点配置文件,修改编码为UTF-8。

  系统区域语言设置

  # vi /etc/sysconfig/i18n

  加入

  LANG="en_US.UTF-8"

  SYSFONT="latarcyrheb-sun16"

  并重启系统(如果没有此文件则创建)

  更改Nginx设置

  编辑站点的Nginx配置文件,在sever中添加

  charset utf-8;

  如:

  server{

  listen 80;

  servername

  root /www;

  index index.html index.jsp;

  charset utf-8;

  …

  同时需要将FTP与shell工具的字符集设置为UTF-8。



时间:(2024-02-07 14:21:39)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!