[PHP-users 19186]日本語名ファイルダウンロード時の文字コード

Naoki Shibata naoki_shibata @ yanase.co.jp
2003年 12月 2日 (火) 19:07:06 JST


柴田と申します。いつもお世話になっています。

header関数とreadfileを使ってファイルをダウンロードさせたいのですが、
日本語ファイル名でダウンロードさせるために文字列の文字セットを何に
したら良いか見つかりません。過去ログやWeb上を検索したのですが、
見つかりませんでした。

ダウンロードさせている部分のコーディング
header("Content-type: application/octet-stream");
header("Content-Disposition: inline; filename=$filename");
header("Content-length: " . filesize("$filepath"));
readfile("$filepath");

この$filenameに送る文字列です。
EUC-JP、Shift-JIS、UTF-8とやってみたのですが、octet-streamが聞いて
htmlでもtxtでもうまくダウンロードになるのですが、ファイル名がうまく行きま
せん。よろしくお願いします。

実行環境
PHP4.3.4 Apache1.3.29 Linux(RedHat8)
PHPのConfig Optionは
--with-apxs=/usr/local/apache/bin/apxs --with-zlib \
--with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr \
--with-mysql \
--enable-mbstring --enable-mbstr-enc-trans \
--enable-mbregex --enable-zend-multibyte \
--enable-trans-sid

----------------------------------------
株式会社ヤナセ情報システム部 柴田 直樹




PHP-users メーリングリストの案内