本帖最后由 狂人阿川 于 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. 套题T6

    过节(festival.cpp/c/pas) Dxy帮老师们过教师节的时候需要购买礼物.货架上有n 种礼物,每种礼物有不同的个数.每种礼物有价值和花费两种属性,帮他算出最大可以得到的价值.M是带的钱数 ...

  2. leetcode 4 : Median of Two Sorted Arrays 找出两个数组的中位数

    题目: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the ...

  3. 服务器端json解析

    1.客户端通过http传上来的可定都是json数据啊,json数据传到服务器端,就要通过键值对getkey方法得到具体值,对吧,然后再操控具体值. 2.JSONObject与JSONArray: Js ...

  4. python url编码,解码

    >>> urllib.unquote('%E4%B8%BD%E6%B1%9F') >>> data '\xe4\xb8\xbd\xe6\xb1\x9f' >& ...

  5. 使用 Spring 3 来创建 RESTful Web Services(转)

    使用 Spring 3 来创建 RESTful Web Services 在 Java™ 中,您可以使用以下几种方法来创建 RESTful Web Service:使用 JSR 311(311)及其参 ...

  6. Android 关于listView 显示不全的问题

    刚刚在项目中发现一个bug,我是用ScrollView 嵌套 ListView的,但是我的数据只能显示一条,开始我还以为是数据有错误,经过排查以后发现是正确的 百度发现 android的架构好像没有考 ...

  7. gdb 基本命令

    backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局 ...

  8. 自定义View(2)canas绘制基本图形的示例

    效果 代码: void drawSample(Canvas canvas) { /* * 方法 说明 drawRect 绘制矩形 drawCircle 绘制圆形 drawOval 绘制椭圆 drawP ...

  9. Linux文件与进程的Capability简介

    UID这种权限机制颗粒太粗,容易引起权利过剩(溢出),Linux引入了Capability:每个Capability系统内以一位Bit代表,OS内部使用64bit存储. 下面是android的capa ...

  10. 定制IE浏览器的尖兵利器 - BHO

    IE浏览器是当前使用人数最广的浏览器, 本文主要来讲述如何来打造我们自己特色的浏览器, 自定义工具栏按钮, 自定义网页的右击菜单, BHO技术与IE浏览器. 本文写作过程中参考不少网络上的相关资料, ...