技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

nginx下無法訪問中文文件名

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2018-12-10 06:18┆點(diǎn)擊:

  搞了大半天nginx下無法訪問中文文件名的問題,現(xiàn)在看來是secureCRT的問題?

  看來還是字符集的問題了。

  看來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;

  客戶端用的是secureCRT,字符集用的是defalut,用rz上傳后在服務(wù)器上用ls顯示亂碼,用ie怎么瀏覽都不能正常看到。

  找朋友測試了一下他那邊的nginx,中文顯示居然一切正常,后來他告訴我他的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ù)站 > 中國.html

  四,如果是用securecrt 上傳文件,請選擇 回話-->外觀--UTF-8

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

  執(zhí)行

  for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done

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

  我現(xiàn)在用的方法是

  在后端個別目錄用APACHE代理了 。。

  APACHE支持中文碼。。

  location /~doc/ {

  proxy_pass :81/;#apache server