当前位置: 首页 » 产品 » 母婴用品 » 正文

nginx下无法访问中文文件名

放大字体  缩小字体 发布日期: 2024-09-29 17:38   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:23
核心提示:  搞了大半天nginx下无法访问中文文件名的问题,现在看来是secureCRT的问题?  看来还是字符集的问题了。  看来nginx不需要

  搞了大半天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 :81/;#apache server

 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
推荐图文
推荐产品
点击排行
    行业协会  备案信息  可信网站