nginx下无法访问中文文件名

王朝学院·作者佚名  2016-08-08
窄屏简体版  字體: 小  |  中  |  大  |  超大  

方法一:

搞了大半天nginx下无法访问中文文件名的问题,现在看来是secureCRT的问题?

看来还是字符集的问题了。

看来nginx不需要象apache那样要单独加载支持中文模块。

服务器端字符集如下

[root@test]# locale

LANG=en_US.UTF-8

LC_CTYPE=”en_US.UTF-8&PRime;

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上传后在服务器上用ls显示乱码,用ie怎么浏览都不能正常看到。

找朋友测试了一下他那边的nginx,中文显示居然一切正常,后来他告诉我他的secrueCRT用的字符集是utf-8,我改用uft-8后再用rz上传文件,在ie下中文可以正常显示了。

方法二:

一:确定你的系统是UTF编码

[root@Tserver ~]# env|grep LANG

LANG=en_US.UTF-8

二:NGINX配置文件里设置为

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中文技术站

echo NGINX中文技术站 > 中国.html

四,如果是用securecrt 上传文件,请选择 回话-->外观--UTF-8

五,如果出现文件名乱码显示

执行

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

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

我现在用的方法是

在后端个别目录用APACHE代理了 。。

APACHE支持中文码。。

location /~doc/ {

proxy_pass http://127.0.0.1:81/;#apache server

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航