Nginx 使用中文URL,中文目录路径
Nginx 使用中文URL,中文目錄路徑
分類(lèi):?linux2012-05-03 11:04?2672人閱讀?評(píng)論(0)?收藏?舉報(bào) nginxurl服務(wù)器translationcentosserver[root@Tserver ~]# env|grep LANG
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LANG=en_US.UTF-8
二:NGINX配置文件里默認(rèn)編碼設(shè)置為utf-8
server{
listen 80;
server_name .inginx.com ;
index index.html index.htm index.php;
root /usr/local/nginx/html/inginx.com;
charset utf-8;
}
三:如果使用putty
windows –> translation –>UTF-8
mkdir NGINX中文技術(shù)站
echo ‘NGINX中文技術(shù)站’ > NGINX中文技術(shù)站/中國(guó).html
四,如果是用securecrt 上傳文件,請(qǐng)選擇 回話(huà)–>外觀–UTF-8
如果是FTP軟件也將默認(rèn)編碼設(shè)置為T(mén)UF-8
五,如果上傳的文件名出現(xiàn)亂碼顯示執(zhí)行
for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done
?
?
?
?
?
Nginx下的中文路徑及中文文件名的處理
在IE下默認(rèn)是以UTF-8的方式編碼URL,向服務(wù)器發(fā)送請(qǐng)求,當(dāng)中文出現(xiàn)在URL中的時(shí)候,就會(huì)被以UTF-8的方式編碼,發(fā)送向服務(wù)器。這個(gè)時(shí)候服務(wù)器的字符集就會(huì)影響到WEB對(duì)URL的解碼。
??? 很多時(shí)候在其實(shí)不論是NGINX還是APACHE,問(wèn)題的本質(zhì)在于瀏覽器端請(qǐng)求的字符集和服務(wù)器端的字符集是否一致,當(dāng)出現(xiàn)不一致的時(shí)候,服務(wù)器就無(wú)法找到請(qǐng)求的路徑,從而出現(xiàn)404 NOT FOUND的錯(cuò)誤。解決方案可以從以下幾方面開(kāi)始
1、服務(wù)器的系統(tǒng)字符集
??? 在centos下可以用echo $LANG查看。可以在vi /etc/profile 中增加
?? export zh_CN.utf-8
???export LANG=zh_CN.utf-8
? 然后重新啟動(dòng)服務(wù)器,即可生效
2、nginx的conf文件中配置的字符集
?? 在../nginx/conf/nginx.conf中的charset設(shè)置。
3、被請(qǐng)求的文件路徑或者文件名的字符集。
? 第1和第2點(diǎn)更改很容易,第3點(diǎn),更改文件名的字符集,需要使用工具convmv才能完成
? convmv 可以從http://j3e.de/linux/convmv?下載,
? wget?http://j3e.de/linux/convmv/convmv-1.14.tar.gz
? tar -zxvf convmv-1.14.tar.gz
? cd convmv-1.14
? make clean;
? make install;
? 如:
??./convmv -f GB2312 -t UTF-8 -r --nosmart --notest userfiles/*.*
? 以上表示 userfiles下的所有文件的文件名由GB2312轉(zhuǎn)換為UTF-8
?
?? 對(duì)于文件內(nèi)容的字符集轉(zhuǎn)換可以使用iconv
轉(zhuǎn)載于:https://www.cnblogs.com/archoncap/p/4861287.html
總結(jié)
以上是生活随笔為你收集整理的Nginx 使用中文URL,中文目录路径的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 浮点类型的精度问题
- 下一篇: Nginx的安装和配置文件详细说明