时间:2023-06-02 16:16:41 来源: 人气:
方法一:, 搞了大半天nginx下无法访问中文文件名的问题,现在看来是secureCRT的问题?, 看来还是字符集的问题了。, 看来nginx不需要象apache那样要单独加载支持中文模块。, 服务器端字符集如下, [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上传后在服务器上用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, },