[PHP-users 19524]Re: アップ/ダウンしたファイルの文字化け(その後)

橋本 美紀 dm @ sa-ra-sa.com
2003年 12月 23日 (火) 18:51:19 JST


橋本 です。

たびたび、申し訳ありません。。。

ブラウジングさせることなく、指定ファイルをダウンロードさせる点は、
WIN環境では、問題なく動くということで、ヨシとしてしまいました。(笑)
ページに、「右クリック もしくは CONTROL+クリック で、保存してください」の
説明を入れとこうと思います。

で、
>> 2.日本語で書かれたtxt書類は、ダウンロードしてきた時に、内容が全て文字化けて
>> しまいます。(サーバー上に置かれている状態で内容を確認しても、化けてるのです
>> けど)
>> これを改善するには、どうしたらいいのでしょうか??
> 
> エンコードをお好みのものに変換してください。
なのですが・・・・

<?
$file_name = $_GET["file_name"];//File Path
$filesize = filesize($file_name);//File Size
header("Content-Length: $filesize");//File Size Send
header("Content-Type: application/octet-stream;
name=".basename($file_name));//MIME Type
header("Content-Disposition: attachment;
filename=".basename($file_name));//File Name
readfile($file_name);//Reading File
$IP = getenv("REMOTE_ADDR");
$message = "IP「".$IP."」の人が、ファイル「" .basename($file_name)."」をダウ
ン開始した模様です。";
$subject = "DL開始メール";
$headers = "From: =?ISO-2022-JP?B?" .
base64_encode(i18n_convert(".UNI-TONE", "JIS")) . "?=
<sarasa @ sa-ra-sa.com>";
mb_send_mail("sarasa @ sa-ra-sa.com", $subject, $message, $headers);
exit;//PHP quit
?>

このどこで指定したらイイのでしょう??

readfile($file_name);//Reading File

で開いたものを、SJISあたりに変えれたらいいのかな?????
と思って、試行錯誤してみたのですが、ちがったようです。

PHPというか、、、、プログラム全般の基本知識無く、様々な本の例文のキリハリで
しのいでるところからして、お門違いなのでしょうが。。。

何冊かの本をあたってみたのですが、
「テキストファイルをダウンさせる時に、文字化けしないようにする」
といった具体例が見当たらなかったため、暗礁に乗り上げてしまってます。

いましばし、お力をお貸し願います。


-- 
ハシモトミキ
    mail to : dm @ sa-ra-sa.com(ネット)
    mail to : s-a.r-a.s-a @ ezweb.ne.jp (携帯)
   




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