IE7.0でTESTLINK1.7.4で漢字ファイル名のダウンロードが何故かエラーになってしまう。いろいろ調べたら、どうやら日本語ファイル名でも同じなようだ。どうやらIE固有の現象のようだ。

http://ayumi.justblog.jp/testlink/2008/09/testlink1-9ad4.htmlを參考に修正してみる。ありがとうございます。M(__)M

「lib/attachment/attachmentdownload.php」を以下のように修正する。

    「34行目付近」に以下を挿入
                :
        if (strlen($content))
        {
    //--Insert ------------------
            $dlname = mb_convert_encoding($attachmentInfo['file_name'], "big5", "UTF-8");
    //----------------------------
            @ob_end_clean();
                :

    「43行目付近」を以下に変更
    //----------------------------
    //        header("Content-Disposition: attachment; filename=\"{$attachmentInfo['file_name']}\"");
            header("Content-Disposition: attachment; filename=\"{$dlname}\"");
    //----------------------------

日本語ファイル名の時はbig5をsjis-winに修正すればよいのだが、多国籍軍で使用しているのでロケールを判断してセットする必要がある。以下加筆修正したもの。後は判断する言語種別によって追加すれば良い。
「lib/attachment/attachmentdownload.php」を以下のように修正する。

    「34行目付近」に以下を挿入
                :
        if (strlen($content))
        {
    //--Insert ------------------
            $wlang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
            $dlname = $attachmentInfo['file_name'];
            if( $wlang == 'zh-tw' ){
                    $dlname = mb_convert_encoding($attachmentInfo['file_name'], "big5", "UTF-8");
            }
            else if( $wlang == 'ja'){
                    $dlname = mb_convert_encoding($attachmentInfo['file_name'], "sjis-win", "UTF-8");
            }
    //----------------------------
            @ob_end_clean();
                :

    「43行目付近」を以下に変更
    //----------------------------
    //        header("Content-Disposition: attachment; filename=\"{$attachmentInfo['file_name']}\"");
            header("Content-Disposition: attachment; filename=\"{$dlname}\"");
    //----------------------------