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}\""); //----------------------------