本帖最后由 狂人阿川 于 2013-4-12 19:13 编辑

今天在给一美国VPS客户调试他的程序的时候.发现他的网站有中文名称.貌似apache无法认识中文路径,火狐下面能下载他的文件,IE下面不行.....只有自己动手解决,解决方法很简单,但是你如果按照网上搜索的那些货儿捣鼓的话.可能会遇到各种问题..
阿川今天捣鼓一篇比较全面的错误解决办法..方便大家参考.
生产环境是centos+LNMPA一键包(一键包来源:www.lnmp.org)
下载iconv_hook和mod_encoding的RMP包

  1. wget http://d.kiiyi.com/mod_encoding-2.2.0-1.i386.tar.gz

复制代码

之后解压他

  1. tar zxvf mod_encoding-2.2.0-1.i386.tar.gz

复制代码

之后导入RPM

  1. rpm -ivh iconv_hook-1.0.0-1.i386.rpm
  2. rpm -ivh mod_encoding-2.2.0-1.i386.rpm

复制代码

导入的时候,可能还会出现

  1. ldconfig: /usr/lib/libmysqlclient.so.16 is not a symbolic link
  2. ldconfig: /usr/lib/libmysqlclient_r.so.16 is not a symbolic link(不是符号连接)

复制代码

没关系啦...

我们只要在lnmpa的安装包下执行如下命令即可

  1. ln -sf /usr/local/mysql/lib/mysql/libmysqlclient_r.so.16 /usr/lib/libmysqlclient_r.so.16
  2. ln -sf /usr/local/mysql/lib/mysql/libmysqlclient_so.16 /usr/lib/libmysqlclient.so.16

复制代码

之后就可以修改httpd.conf了.在httpd.conf中加入如下代码:

  1. LoadModule encoding_module modules/mod_encoding.so
  2. <IfModule mod_headers.c>
  3. Header add MS-Author-Via "DAV"
  4. </IfModule>
  5. <IfModule mod_encoding.c>
  6. EncodingEngine on
  7. NormalizeUsername on
  8. SetServerEncoding GBK
  9. DefaultClientEncoding UTF-8 GBK GB2312
  10. AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
  11. AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
  12. AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312
  13. </IfModule>

复制代码

然后重启lnmpa环境...这个时候.你肯定会发现这货出错了..

  1. httpd: Syntax error on line 34
  2. of /usr/local/apache/conf/httpd.conf:
  3. Cannot load /usr/local/apache/modules/mod_encoding.so
  4. into server: /usr/local/apache/modules/mod_encoding.so:
  5. cannot open shared object file: No such file or directory

复制代码

没关系...我们将之前导入的mod_encoding.so(位置在/usr/lib/httpd/modules/下面),复制到/usr/local/apache/modules即可

  1. cp /usr/lib/httpd/modules/mod_encoding.so /usr/local/apache/modules

复制代码

之后.重启环境

  1. root/lnmpa restart

复制代码

好了.打完收工.祝各位玩的愉快!

【转】让apache支持中文路径或者中文文件的更多相关文章

  1. 使GDAL库支持中文路径或中文文件名的处理方法

    之前生成的gdal 2.1.1动态库,在通过命令行执行时,遇到有中文路径或中文图像名时,GDALOpen函数不能正确的被调用,如下图: 解决方法: 1.      在所有使用GDALAllRegist ...

  2. Windows下Python中的中文路径和中文输出问题

    这几天有个项目需要写一点类似于脚本的小程序,就用Python写了,涉及到中文路径和中文输出的问题,整理一下. 有一个问题我觉得需要先强调一下,在写Python程序的时候,一定保证编码是utf-8,然后 ...

  3. GDAL C#中文路径,中文属性名称乱码问题

    昨天写的博客,将C#读取shp中文属性值乱码的问题应该可以解决,博客地址为:http://blog.csdn.net/liminlu0314/article/details/54096119,然后又测 ...

  4. GDAL支持中文路径和Shp文件中文属性写入

    在使用GDAL的过程中,为了支持中文,比需手动进行中文路径的设置,同时特别是在对Shp的属性进行中文输入的时候,都必须进行必要的设定. 为了支持中文路径,在注册了驱动之后,加上第三句就可以了.必须设置 ...

  5. 论 Python Opencv 中文路径及中文文件名图像文件读取的两种方式

    python 2中对于中文字符的处理可谓是诟病已久,虽然python 3 使用统一编码解决了中文字符串的问题,但在使用opencv中imread函数读取中文路径图像文件时仍会报错. 1) 借助nump ...

  6. VFS 上传文件到sftp 报错 包含中文路径 或者中文文件名称

    之前用Apache commons-vfs工具进行ftp操作(FTP服务器是 FileZilla Server) 上传本地文件 到 ftp服务器上,如果文件名称 包含 中文 报错 org.apache ...

  7. phpexcel对于中文路径和中文名称的问题(有疑问)

    phpexcel对于中文的文件名无法读取(我本地环境都是utf-8的编码) 是不是win系统识别都是gbk ?(需要把utf-8的字符串改为gbk) $file = "C:\\Users\\ ...

  8. [Python] 中文路径和中文文本文件乱码问题

    情景: Python首先读取名为log.txt的文本文件, 其中包含有文件名相对路径信息filename. 随后Python调用shutil.copy2(src, dst)对该filename文件进行 ...

  9. gdal中文路径无法打开问题

    在C#中使用OGR读写矢量数据时,需要引用“using OSGeo.OGR;”. 同时为了处理中文路径和中文字段,需要在开始设置下面两个属性,代码如下: //为了支持中文路径,请添加下面这句代码(大多 ...

随机推荐

  1. 递归算法实现10进制到N进制的转换

    #include<iostream> using namespace std; int BaseTrans(int data,int B){ int s; ) ; //结束递归算法 s=d ...

  2. java基础知识回顾之javaIO类--管道流PipedOutputStream和PipedIutputStream

    管道流(线程通信流):管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream).管道输入流(PipedInputStream),如果想要进行管道输出,则必须要把 ...

  3. AutoEventWireup解释

    这一事件聚合了当前页是否自动关联某些特殊事件. 首先,从浏览器页面出发的事件不能立刻在本地得到处理,而是POST至服务器上,因此,asp.net建立了委托(代理)机制.在建立一个事件的同事,建立相应的 ...

  4. spring mvc 常用注解

    1.@requestMapping注解,绑定指定的url,requestmapping注解的属性值有value和method. requestmaping可以作用在类上或者方法上 如:@Request ...

  5. HTML5 文件API(二)

    1.FileSystem概述及浏览器检 2.申请磁盘配额 3.创建文件

  6. 实例学习写Makefile文件

    目录 0. 扫盲 1. 编译,链接 2. Makefile文件执行 3. Makefile书写规则 4. 案例 5. Makefile是如何工作的 6. 拔高,参考 0. 扫盲 Linux 环境下的程 ...

  7. Intellij Idea 创建EJB项目入门(一)

    相关软件: 1.JBoss(jboss-as-7.1.1.Final):http://jbossas.jboss.org/downloads 2.Intellij IDEA 13.02 3.JDK 1 ...

  8. hadoop拾遗(三)---- 多种输入

    虽然一个MapReduce作业的输入可能包含多个输入文件(由文件glob.过滤器和路径组成),但所有文件都由同一个InputFormat和同一个Mapper来解释.然而,数据格式往往会随时间而演变,所 ...

  9. 构建linux内核源码树

    编写驱动程序时,需要内核源码树的支持.内核源码树时从内核源代码编译得到的.下面开始构造内核源代码的步骤.以Ubuntu为例子 1. 下载内源代码,位置www.kernel.org. (注意:源码树内核 ...

  10. android sqlite支持的数据类型

    Sqlite3支持的数据类型 :NULL.INTEGER.REAL.TEXT.BLOB 但实际上,sqlite3也接受如下的数据类型:    smallint 16 位元的整数.    interge ...