日拱一卒无有尽,功不唐捐终入海

让CentOS/Debian系统Nginx支持中文url访问

开发环境 Sam 861℃ 0评论

新买的云服务器,通过FlashFXP上传带有中文名称的下载文件,发现调用无法找到,出现404错误,估计是中文编码的问题,搜索下,解决方法就是把 Linux 系统字符集设成utf8,是设成 en_US.utf8还是zh_CN.utf8,经我测试,好象二者皆可,我选择了 en_US.utf8。

步骤一:用Xshell或其它工具登陆CentOS/Debian,用”locale” 查看系统的编码

#locale

也可以使用[root@xx ~]# env|grep LANG
LANG=en_US.UTF-8
如果为空,可以在vi /etc/profile 中增加

步骤二:显然我的系统字符集还不是utf8,将下面这句加入到文件 /etc/profile,”vi /etc/profile”,就加在最下面好了: export LANG=en_US.UTF8 保存退出,重新启动系统,运行 locale,结果如下:

#locale

步骤三:NGINX配置文件里添加一句 “charset utf-8″,设置为类似下面的

步骤四:被请求的文件路径或者文件名的字符集。第1和第2第3步更改很容易,第4步,更改文件名的字符集,需要使用工具convmv才能完成

最后:
重新启动 LNMP,看看如何。
PS: 如果你的站点所有的目录不全都是UTF-8,还用GB2312,建议不设置步骤三。

转载请注明:PHP笔记 » 让CentOS/Debian系统Nginx支持中文url访问

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)