
このcgiはファイルをアップロードとダウンロードすることが出来るcgiです。
日本語名のついたファイルをアップロードするときは文字化けもなく保存できるのですが、そのファイルをダウンロードすると日本語が文字化けしてダウンロードされてしまいます。
アップロードした時点で Fileというフォルダに格納されるのですが、そのときはまだ格納されたファイルは文字化けはしていません。cgi上に表示されているファイル名も文字化けはしていません。
ダウンロードするファイルを選択した時点で文字化けしたアドレスがIEの下に表示されます。そして、その文字化けの文字のままファイル名となってダウンロードされてきます。
yahooのブリーフケースに日本語のファイル名をアップした時のURLの文字化けに似ているような気がします。
でもyahooの場合はダウンロードしてもファイル名は文字化けしていないのです。
ご指導よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示

No.2
- 回答日時:
サーバに置くファイル名には日本語名は使わないというのが鉄則なのですが...
サーバに保存されている時はWebを使用してるので、ちゃんとコード変換されて
いるように見えるけど、サーバのファイルシステムで確認すると実際には文字化け
していて、それがダウンロードする時に表示されるのではないでしょうか?
サーバのメンテナンス時などに日本語のファイル名を付けられていると
そのフォルダでバックアップ処理が止まったりして結構やっかいな事に
なりますので、できれば日本語ファイル名はやめたほうがいいかも。
No.1
- 回答日時:
基本的にWEBで日本語(2バイト文字)は使用してはいけません(ファイル名とかのことね)。
それはWEB環境によって文字コードの違いとかがあるためです。
WINはsjisで動作していますが、Lunix系だとEUCが基本です(場所によっては違うと思いますが)。
もしそれでも使いたい場合はファイル名をエンコードするべきです。
http://サイト/なんとか.cgi?q=%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91
といった感じに、URLエンコードとか。base64 とか unicode とか。
で、アップロード/ダウンロードする側のスクリプトでデコードをしてやれば理論的に出来るはずです。
ただ、WEBでは日本語は使ってはいけないという前提条件が私の中であるので、お勧めはしませんが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Wallpaper Engineでおすすめの...
-
Perlのエラーについてご教授く...
-
bashスクリプト
-
perlで2次元配列をサブルーチ...
-
Strawberry Perl for Windows ...
-
ターミナルで特定の文字と文字...
-
INDIRECT 横に再度抽出したい
-
Perl 数値にスラッシュを入れる...
-
Perlの全角スペース 文字化け?
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
Perlで時間の計算
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のCGIだけ、作動するかわり...
-
CGI経由PDFダウンロードでエラー
-
cgiファイルがダウンロードでき...
-
ダウンロードのダイアログボッ...
-
ファイルダウンロード後に、デ...
-
EXCELファイルに誰がアクセスし...
-
KENT WEB(昨日の続きです)
-
《エクセルVBA》「他の人が該当...
-
CGIでソースがそのままでてしま...
-
FTPにて553エラー
-
ASP(IIS?)のエラーについて
-
VBScriptで、ファイルから任意...
-
ASP.NETでメール送信時のエラー
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
URLに~/cgi-bin/~を隠す方法
-
ASPから既存のexcelブックを開...
-
古ーくからフリーのtree.cgi掲...
-
CGIの設置について
-
これってなに!??
おすすめ情報