【转】终于解决了Apache乱码问题
之前开放了一个空间,给网友提供电台节目音频下载。由于多年节目的文件数量甚多,且分类没有特定格式,图省事,没有制作网页提供分类下载,而是直接利用Apache的目录浏览功能,简单直观。
不过,所在的美国服务器默认Apache编码设置为ISO-8859-1,使得中文文件名出现乱码,每次浏览只能手动设置一下浏览器的编码,设置为GB2312就可以正常显示了。每刷新一次都要设置一次,好是麻烦。想解决这个问题,但是找了好多资料,都没有解决到。一直就拖了将近2年了。辛苦了需要下载的网友了。
这几天,突然有冲动,要把这个问题解决。
首先是给DH的customer service反应了(其实以前也反应过此问题),我在提问的同时,给了一个可能的解决方案给DH,让他们协助修改http.conf,将"AddDefaultCharset ISO-8859-1"修改为"AddDefaultCharset GB2312"。迅速得到DH的回复,可惜答案并没有解决我的问题。DH不允许修改系统配置,告诉我去修改htaccess文件,看看能否解决问题。又见htaccess文件……我修改了几十次的配置文件,不过没有一次可以成功解决这个乱码问题。虽然如此,见DH热心地附上了配置参考文档(http://www.w3.org/International/questions/qa-htaccess-charset),还是挺感激的。
之前,利用htaccess,企图解决乱码问题,尝试过以下多种指令:
AddDefaultCharset GB2312
DefaultLanguage zh-cn
AddDefaultCharset none
AddDefaultCharset Off
AddLanguage zh-cn .cn
AddCharset gb2312 .html
AddCharset gb2312 .htm
用W3的检查器检查(http://validator.w3.org/detailed.html),结果发现,对Apache的目录浏览是不起作用的。只对上传的文件(.html等等)起作用。
经过分析,应该是由于默认的目录浏览方式是由Apache生成index文件的,因为只能在生成前设定编码。
再仔细看了一下htaccess文件配置文档,发现Apache Module mod_autoindex(http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html#indexoptions),里面有FancyIndexing项目(其实之前都用过这个设置的IndexOptions NameWidth了),IndexOptions竟然也有一个关于编码的设置,Charset=character-set,天啊!怎么之前没有看到?!一看到这个选项,就感觉已经接近解决乱码问题了。
立刻修改htaccess文件,加入
IndexOptions Charset=GB2312
重新打开网页,成功!用W3的检查器检查,也是显示编码为GB2312!终于解决了!
【转】终于解决了Apache乱码问题的更多相关文章
- 彻底解决mysql中文乱码的办法 ???
MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如p ...
- 解决Asp输出乱码问题
在一个Asp页面中页面正常的中文字符都没有问题,但如果用Asp程序输出的话就显示为乱码 终于在百度经验上找到解决方案: 1.将文件编码更改为Utf-8 2.在页头添加"<%@LANGU ...
- Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)
Java ZIP压缩和解压缩文件(解决中文文件名乱码问题) 学习了:http://www.tuicool.com/articles/V7BBvy 引用原文: JDK中自带的ZipOutputStrea ...
- 解决reportNG中文乱码(转:http://www.it610.com/article/3626590.htm)
1.下载reportng源码 git clone https://github.com/dwdyer/reportng.git 2.修改AbstractReporter.java ...
- PhpStorm 2016.3 For Mac 重大里程碑更新 -- 终于解决了不能输入中文标点符号的重大bug
PhpStorm 2016.3 For Mac 重大里程碑更新 1.[终于解决了]不能输入中文标点符号的重大bug,如 逗号“,”.“.”: 2.可以在一个窗体中,同时打开多个项目: 3.其他... ...
- 解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客 http://hsj69106.blog.51cto.com/1017401/595598/
解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客 http://hsj69106.blog.51cto.com/1017401/595598/
- 彻底解决mysql中文乱码的办法,修改mysql解压缩版(免安装版或zip版)字符编码
MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如server字符编码还停留在latin12.table的语系设定问题(包含character与collation)3.客 ...
- 【转】解决jsp参数传递乱码的问题
解决jsp参数传递乱码的问题 计算机生于美国,英语是他的母语,而英语以外的其它语言对他来说都是外语.他跟我们一样,不管外语掌握到什么程度,也不会像母语那样使用得那么好,时常也会出一些“拼写错误”问题. ...
- 终于解决了IE8不支持数组的indexOf方法,array的IndexOf方法
/* 终于解决了IE8不支持数组的indexOf方法 */ if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (el ...
随机推荐
- c# 4.0新特性一览
原文:http://www.cnblogs.com/palo/archive/2009/03/01/1400949.html 终于静下心来仔细听了一遍Anders Hejlsberg(Visual S ...
- HDU4725 The Shortest Path in Nya Graph SPFA最短路
典型的最短路问题,但是多了一个条件,就是每个点属于一个layer,相邻的layer移动,如x层移到x+1层需要花费c. 一种显而易见的转化是我把这些边都建出来,但是最后可能会使得边变成O(n^2); ...
- C# 构造函数的使用方法
C#构造函数是一个特殊的类方法.在很多方面,包括访问修饰符.重载以及参数列表的语法等方面,构造函数与普通的方法是类似的.然而,在使用方面以及行为方面,构造函数也具有许多特殊的语法和语义规则. 下面列出 ...
- POJ3083Children of the Candy Corn
题意:给你一个迷宫,入口处标为S,出口处标为E,可以走的地方为“.”,不可以走的地方为#,求左转优先时从出口到入口的路程,再求右转优先时,出口到入口的路程,最后求从出口到入口的最短路程. 思路:求前两 ...
- excel公式应用大全
excel公式应用大全 1.ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值. 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格. 应用举例:如 ...
- VIM Taglist + ctags
Windows下 进入http://ctags.sourceforge.net/ 下载ctags 把ctags58.zip解压,随便放个地方,我放到了Home\Vim\vim72下,在ctags58文 ...
- 内存单元按字节编址,地址0000A000H~0000BFFFH共有几个存储单元
一般可以这样:按十六进制(bffff-a000)+1=1fff+12000H=2x16x16x16=81928192/1024=8 最后是8k或者按二进制bfff-a000=0001 1111 111 ...
- 29 个 PHP 的 Excel 处理类
下面的 PHP Excel 处理类中,包含 Excel 读写.导入导出等相关的类,列表如下: PHP Excel Reader classes 1. Read Excel Spreadsheets u ...
- org.json.JSONObject与com.google.gson.Gson
org.json库为JSON创始人编写的解析JSON的java库,Gson为Google为我们提供的解析JSON格式数据的库. Gson里最重要的对象有2个Gson 和GsonBuilder. Gso ...
- Android权限安全(10)应用与设备绑定
有些时候开发者想要把应用与设备绑定 如: 计费应用下载,防导出运行. app内部注册付费等等. 常用的绑定方案: