docman 组件 下载中文名文件时乱码?有高手解决过这个问题吗

我用的是:windows 环境,JOOMLA是1.5.8中文版本.用docman组件上传了中文名的的文件,后台和前台的文件名都显示正常.但是点击下载的时候就出现文件名是乱码了,下载保存在本地的文件名也是乱码.有高手解决过这个问题吗?其他的上传下载组件也有这样的问题,比如com_jdownloads
已邀请:

跑堂小2 - 冇钱;冇房子;冇成就。要吃饭;要住宿;要消费

赞同来自:

参看:
如何让 Docman 支持中文文件名

~~~~~~~~~ - 上帝给我的使命,就是证明你们都不是最糟糕的

赞同来自:

谢谢

不是本人 - no no no!

赞同来自:

的方法是直接把上传的文件名该成时间戳,这样的修改还没有真正达到目的.昨天试了另外一种方法,如下:找到DOCMAN_file.class.php文件中的download函数定义,修改成function download($inline = false)
    {
// Fix [3164]
while (@ob_end_clean()&#41

if( $this-_isLink ){
header( "Location: " . substr( $this-name , 6 ) &#41
return;
}

$fsize = @filesize($this-path.$this-name&#41
$mod_date = date('r', filemtime( $this-path.$this-name ) &#41

$cont_dis = $inline ? 'inline' : 'attachment';

// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))  {
ini_set('zlib.output_compression', 'Off'&#41
}

        header("Pragma: public"&#41
        header("Cache-Control: must-revalidate, post-check=0, pre-check=0"&#41
        header("Expires: 0"&#41

        header("Content-Transfer-Encoding: binary"&#41
header('Content-Disposition:' . $cont_dis .';'
. ' filename="' . iconv('utf-8','gb2312',$this-name) . '";'
. ' modification-date="' . $mod_date . '";'
. ' size=' . $fsize .';'
&#41 //RFC2183
        header("Content-Type: "    . $this-mime &#41 // MIME type
        header("Content-Length: "  . $fsize&#41

        if( ! ini_get('safe_mode') ) { // set_time_limit doesn't work in safe mode
    @set_time_limit(0&#41
        }

// No encoding - we aren't using compression... (RFC1945)
//header("Content-Encoding: none"&#41
//header("Vary: none"&#41


        $this-readfile_chunked($this-path.$this-name&#41
        // The caller MUST 'die(&#41'
    }

跑堂小2 - 冇钱;冇房子;冇成就。要吃饭;要住宿;要消费

赞同来自:

只修改了第21行的代码,原21行代码为. ' filename="' . $this-name . '";'

追梦人 - 梦想每个人都有,但不是每个人都有勇气去坚信,我有

赞同来自:

呵呵,我对编程不懂的。我提供的那个链接也是其他人的博客。
感谢你找到了解决方案并分享!

~~~~~~~~~ - 上帝给我的使命,就是证明你们都不是最糟糕的

赞同来自:

只修改了第21行的代码,原21行代码为. ' filename="' . $this-name . '";'

追梦人 - 梦想每个人都有,但不是每个人都有勇气去坚信,我有

赞同来自:

请问zhangyunwu1986 :
按照您的这种方法,我测试了一下,上载和下载,在前台和后台看到的文件名都是中文正确的了没有问题。
但是,在服务器上/dmdocuments里的实际文件名却变成乱码了。
另外,我上载了一个文本文件,在文件里写了一些中文字符。
通过前台的"查看"按钮察看,显示的却是乱码,但是现在下来了打开内容却是中文的。
请帮忙救急。谢谢。

刘备曹操 - 古今多少事,都付谈笑中

赞同来自:

不好意思。这个BUG我在1楼的时候已经提到过的。查看应该是直接查看服务器上的文件名,所以就乱码了吧

孤独者 - 世界属于那些勤于思考的人,更属于那些善于行动的人

赞同来自:

就是你说的这个意思。
另外,通过前台"查看"按钮查看中文文本文件时,里面的内容也是乱码。

要回复问题请先登录注册