綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門(mén)排行|軟件分類(lèi)|軟件專(zhuān)題|論壇轉(zhuǎn)帖|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁(yè)服務(wù)器類(lèi)Web服務(wù)器 → nginx下無(wú)法訪問(wèn)中文文件名的解決方法

nginx下無(wú)法訪問(wèn)中文文件名的解決方法

我要評(píng)論 2013/08/29 16:34:17 來(lái)源:綠色資源網(wǎng) 編輯:m.sonlywya.cn [ ] 評(píng)論:0 點(diǎn)擊:717次

今天在網(wǎng)上尋找關(guān)于Nginx訪問(wèn)中文目錄及文件名的解決方法,偶然看到qwqg的一篇文章!
解決問(wèn)題的思路很清晰,特轉(zhuǎn)載過(guò)來(lái)與大家一起分享!該方法還沒(méi)有親自測(cè)試,所以不太確定是否真有用!

方法一:

搞了大半天nginx下無(wú)法訪問(wèn)中文文件名的問(wèn)題,現(xiàn)在看來(lái)是secureCRT的問(wèn)題?
看來(lái)還是字符集的問(wèn)題了。
看來(lái)nginx不需要象apache那樣要單獨(dú)加載支持中文模塊。

服務(wù)器端字符集如下
[root@test]# locale
LANG=en_US.UTF-8
LC_CTYPE=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_PAPER=”en_US.UTF-8″
LC_NAME=”en_US.UTF-8″
LC_ADDRESS=”en_US.UTF-8″
LC_TELEPHONE=”en_US.UTF-8″
LC_MEASUREMENT=”en_US.UTF-8″
LC_IDENTIFICATION=”en_US.UTF-8″
LC_ALL=

在nginx.conf文件里配置的字符集也是utf-8
server {
listen 80;
server_name test.cn;
root /data;
index index.html index.jsp;
charset utf-8;

客戶(hù)端用的是secureCRT,字符集用的是defalut,用rz上傳后在服務(wù)器上用ls顯示亂碼,用ie怎么瀏覽都不能正??吹?。
找朋友測(cè)試了一下他那邊的nginx,中文顯示居然一切正常,后來(lái)他告訴我他的secrueCRT用的字符集是utf-8,我改用uft-8后再用rz上傳文件,在ie下中文可以正常顯示了。

方法二:

一:確定你的系統(tǒng)是UTF編碼

[root@Tserver ~]# env|grep LANG
LANG=en_US.UTF-8

二:NGINX配置文件里設(shè)置為

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ù)站 > 中國(guó).html

四,如果是用securecrt 上傳文件,請(qǐng)選擇 回話(huà)-->外觀--UTF-8

五,如果出現(xiàn)文件名亂碼顯示

執(zhí)行
for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done

另一位朋友的解決方案是:

我現(xiàn)在用的方法是
在后端個(gè)別目錄用APACHE代理了 。。
APACHE支持中文碼。。

location /~doc/ {
   proxy_pass http://127.0.0.1:81/;#apache server
}

以上供大家參考!

關(guān)鍵詞:nginx,解決方法

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 1 歡迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視