OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

日本語名ファイルのダウンロードについて

  • 困ってます
  • 質問No.139238
  • 閲覧数525
  • ありがとう数7
  • 気になる数0
  • 回答数4
  • コメント数0

Windowsマシン上でブラウザを立上げ、LINUXサーバーにアクセスしてファイルをダウンロードしたいのですが、ファイル名が全角文字だと、NOTFOUNDになってしまいます。

ダウンロードを行なうjavascriptは以下のとおりです。
function download(){
document.location.href = "http://190.XXX.XXX.XXX:7001/temp/download/日本語名ファイル.txt"
}

システムは、javaで開発しています。(Servlet,JSP,Beans)
サーバーのアプリケーションは、Weblogic6.0です。
ブラウザは、IE5.5です。

サーバーがWindowsマシンの場合は、上の方法で正常にダウンロードできます。
サーバーがLINUXマシンの場合、全角文字の部分をEUCに変換しておくと、ダウンロードはできるのですが、ダウンロード後のファイル名が化けてしまうので、具合が悪いです。
日本語名ファイルをダウンロードするよい方法がありましたら、教えてください。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4
レベル11

ベストアンサー率 58% (114/195)

ん?もしかしてLinux上のwebサーバにある2バイトコードファイルを文字化けさせずにDLしたい、という事でしょうか?
であれば、Linuxのwebサーバ側のファイル名をSJISにエンコードしてやる必要があるのではないでしょうか?

もっともこれだけではIEのURLエンコードに関する仕様などもあるため、あまりスマートではありません(もっとも日本語Domainサービスが開始されればRFCで流れるとは思いますが)し、ブラウザのVerによっては旨くDLできない事もあります(Browserの返すAccept Languageで何とかなるのかもしれませんが・・・)。

なので現状での最良の手段はken2さんのおっしゃってる通り2バイト文字系は使わない事、次点としては動作環境を限定する事が必要でしょう。
そうでないのであればscript側でリクエストURLをトラップしてやり、文字コード間の差異を吸収してファイルデータを返してやるScriptを組む必要があるかとおもいます。
お礼コメント
noname#1394

ご回答ありがとうございます。
SCRIPTでなんとかできる可能性がありそうですね。
検討してみます。
投稿日時 - 2001-09-25 11:17:54
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル11

ベストアンサー率 58% (114/195)

IEの設定でどこか忘れましたが、「URLを常にUTF8でエンコードする」とか言うオプションがあったはずです。確かIE5以降ではデフォルトでスイッチが入っていたはずなので非ASCII文字を含む場合、UTF8でファイル名を送信してしまうため、違うファイル名がリクエストされ、404 File not foundになってしまいます。 回避するにはクライアント(ブラウザ)側で上記のオプションをoffにするか、サー ...続きを読む
IEの設定でどこか忘れましたが、「URLを常にUTF8でエンコードする」とか言うオプションがあったはずです。確かIE5以降ではデフォルトでスイッチが入っていたはずなので非ASCII文字を含む場合、UTF8でファイル名を送信してしまうため、違うファイル名がリクエストされ、404 File not foundになってしまいます。
回避するにはクライアント(ブラウザ)側で上記のオプションをoffにするか、サーバ側でリクエストをトラップし、内部コードに変換する必要があるのではないでしょうか?
お礼コメント
noname#1394

ご回答をいただき、ありがとうございます。
残念ながらこの設定は、Windowsサーバーからダウンロードする際には有効ですが、LINUXサーバーの場合には日本語の文字化けを回避できません。
LINUXサーバーでは、ファイル名がEUCで管理されていることが原因ではないかと思われます。
ありがとうございました。
投稿日時 - 2001-09-21 18:37:01


  • 回答No.2
レベル12

ベストアンサー率 41% (324/772)

まず、一般的にUNIX上のファイルシステムで日本語のファイル名を使うこと自体があまり推奨されていません。 メールの添付ファイルや、wwwサーバ上に格納するファイルには半角英数字で指定するのがマナーです。 ...続きを読む
まず、一般的にUNIX上のファイルシステムで日本語のファイル名を使うこと自体があまり推奨されていません。

メールの添付ファイルや、wwwサーバ上に格納するファイルには半角英数字で指定するのがマナーです。
お礼コメント
noname#1394

ご回答ありがとうございます。
推奨されていないとのこと、承知いたしました。
投稿日時 - 2001-09-25 10:53:38
  • 回答No.3
レベル11

ベストアンサー率 36% (86/235)

UNIX上で、(Windowsとの混在環境で)日本語のファイル名を使うということが、問題でしょう。インターネット環境で、ファイル名を扱う場合には、やはり英数文字にするべきだと思います。 ...続きを読む
UNIX上で、(Windowsとの混在環境で)日本語のファイル名を使うということが、問題でしょう。インターネット環境で、ファイル名を扱う場合には、やはり英数文字にするべきだと思います。
お礼コメント
noname#1394

ご回答ありがとうございます。
やはり、「ファイル名は英数字でお願いします」と、お客様を説得するしかなさそうですね。(汗)
投稿日時 - 2001-09-25 11:07:02
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ