在Apache中,要實(shí)現(xiàn)對中文的支持需要單獨(dú)加載中文模塊,而Nginx是支持多種編碼不需要安裝其他組件的,只是默認(rèn)是走UTF-8的支持路線。這里提供兩種方法實(shí)現(xiàn)Nginx對中文URL的支持。
方法一
利用convmv對文件名轉(zhuǎn)碼
此方法治標(biāo)不治本,僅供緊急時(shí)候使用(訪問量大時(shí)間段,無法對服務(wù)器進(jìn)行重啟操作的時(shí)候)。
這里以centos為例,其他系統(tǒng)同理。
安裝convmv
yum -y install convmv
轉(zhuǎn)碼
convmv -fGBK -tUTF8 -r --notest target
其中-f是源編碼,-t是目標(biāo)編碼,-r是遞歸處理目錄,–notest是不移動(dòng),實(shí)際上對文件進(jìn)行改名,target是目標(biāo)目錄。
方法二
更改Nginx站點(diǎn)配置文件,修改編碼為UTF-8。
系統(tǒng)區(qū)域語言設(shè)置
# vi /etc/sysconfig/i18n
加入
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
并重啟系統(tǒng)(如果沒有此文件則創(chuàng)建)
更改Nginx設(shè)置
編輯站點(diǎn)的Nginx配置文件,在sever中添加
charset utf-8;
如:
server{
listen 80;
servername www.tfyum.net;
root /www;
index index.html index.jsp;
charset utf-8;