• ベストアンサー

アップロードしたファイル名

お世話になります。 全角文字のファイル名のファイルをアップロードすると空白になります。 どうすれば、表示できますか? mb_convert_encodingを使うんじゃないかとは思っているんですが、どう使えばいいか教えていただけると幸いです。

  • MySQL
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

MySQLにアップしているの?状況がわからない 原則としてhttpベースでは全角文字のファイルを送受信しない windowsからtype="file"でアップロードした場合 ファイル名はシフトjisでつけられているはずなので サーバー側のファイルシステムとは異なり表示がされないのかも アップしたファイルを公開ディレクトリにコピーする際に 無理やりコンバートし、ユーザーの環境を限定すれば いける可能性はありますが、もろもろのトラブルが想定されるので やるなら相当注意をして自力で対応するしかない

egawa0812
質問者

補足

yambejpさん、ありがとうございます。 MySQLにアップしています。 そうですか・・・ 全角文字のファイルはアップロードを受け付けないようにした方がよさそうですかね?

関連するQ&A

  • ジオシティーズでの画像アップロードについて

    コンピューターにはド素人なので、大変恐縮ですが、よろしくおねがいします。 ジオシティーズで無料でホームページを作ろうと思い、画像をEZアップロードにてアップロードしようとしました。 が、「ファイル名が無効です。」と出てきてアップロードできません。 調べてみると「ファイル名に全角文字(ひらがな、カタカナ、漢字など)と半角カタカナ、空白が含まれている場合はアップロードできません。」とあります。 自分のアップロードしようとしていたパソコン内の画像ファイル名にはひらがな・漢字・空白が有り、このままではアップロード出来ないことがわかりました。 しかしどうしてもホームページにこの画像をアップロードしたいのです。 何か方法は無いでしょうか。よろしくおねがいします。

  • 日本語名ファイルのDL時の文字化けについて

    <a href="aaa/日本語.txt">日本語</a> のようにリンクを貼ったのですが、ファイル名が上のように日本語のときに文字化けを起こしてファイルのダウンロードができません。 mb_convert_encodingとかを使ったりして色々試してみましたができません。どなたか解決策をご教授お願いいたします。

    • ベストアンサー
    • HTML
  • アップロードするとファイル名が大文字になってしまう・・・。

     FFFTPやNEXTFTPを使い、ホームページをプロバイダのサーバーへアップロードしていますが、ファイル名が大文字になってしまうことがあり、WEB上で表示されないことがよくあります。特に、画像ファイルです。いつもホームページを転送した後に、WEB上で確認をして、表示されていない画像の名前をチェックし、サーバのデータを「名前の変更」で小文字に変換するという大変面倒くさいことをしています。  どうしたらよろしいでしょうか。 宜しくお願いいたします。

  • 全角文字のファイル名の使用方法はありますか?

    ホームページを作っています。 自分のパソコンでは上手く作動して画像が表示されますが、 プロバイダーにアップロードして試してみましたが、 画像が表示されません。 クリックして新たな画像を表示するところなどは、ファイルが見つかりませんのエラーが表示されます。 画像は漢字名のjpgです。「東京タワー.jpg」のような全角文字のファイル名は使用できないのでしょうか? 使用できないのであれば、何か方法はありますか? 勿論、文章の全角文字の漢字は正しく表示できます。

  • ファイルのアップロードが出来ません。

    ファイルサイズ20MBが上限のmp3音声投稿サイトに、 7MB程度のmp3ファイルをアップしたいのですが、 アップロードをしようとして、30秒から1分程度経過すると、 インターネットエクスプローラーでは、このページは表示できませんと出てしまいます。 ファイルの種類やレートなどは、投稿先サイトの指定に従っています。 他のブラウザで、実行を行っても同じ結果となってしまいます。 上限が20MBの投稿サイトですが、7MBとかはダメでも、4MB以内では、 ファイルのアップロードが出来ることが多いです。 パソコンの通信設定とかの問題なのでしょうか? お知恵をお借りできれば幸いです。

  • ファイルのアップロードで、ファイル名が文字化けして困っています

    いつもお世話になります。 いろいろ調べましたが解決しませんでした。 今社内で、情報共有掲示板を作成しているのですが、 ファイルをアップロードすると、ファイル名がぐちゃぐちゃになっています。(英数字は問題ありません) たとえば、自己申告0936.xls をアップロードすると、シォクハソスケ・936.xls となってしまいます。 PHPで作成し、サーバはApache2で、OSはWindows2000です。プログラムはEUC,MySQLはEUCの設定です。 ファイル名をデータベースにも登録するようにしていますが、そこでは文字化けは起こりません。 if($_FILES['file1']['name'] != ""){ mkdir("$uploaddir"); $ufile1 = $_FILES['file1']['name']; $uploadfile = $uploaddir.$ufile1; move_uploaded_file($_FILES['file1']['tmp_name'],$uploadfile); } 一部ですが、最大10個ファイルを送れるようにしています。 どうかよろしくお願いいたします!!

    • ベストアンサー
    • PHP
  • ファイル名が短くなってしまった。

    win98seです、リカバリの為データをcdにイーシークリエータ(ライジングソフト)で保存、リカバリ後にデータを戻したらファイル名が全角4文字までしか表示されません、残りの超えた分の文字が1・2とかで省略されています。元のファイル名(8文字ぐらい)にするにはどうしたらいいんでしょうか?ちなみに、ieのお気に入りの題名もFavritesをCDに保存していましたが戻すとやっぱり全角4文字までになっていました。開かないと何のデータか判らなくなりました解決方法を教えてください。

  • ファイルの文字コードを調べるには?(php)

    言語はphpです。 アップロードしたファイルをからデータを1行ずつ抜き取るという作業をしています。 その際にエンコードを下記の方法で行っています。 $lines = mb_convert_encoding(fgets($fp), 'utf-8','shift-jis'); この場合、元のファイルがshift-jisであればなんら問題は無いのですが、すべてのファイルがそうとは限りません。なので、アップロードしたファイルの文字コードを調べ、その文字コードを記述するようにしたいのですが、調べる方法は何か無いでしょうか? ※[auto]を試してみましたが、その際は文字化けが起きていましましたので、出来れば他の方法でお願いします。 自分なりに調べてみましたが、良い情報を見つけることが出来なかったので、ご存知の方は宜しくお願い致します。

    • ベストアンサー
    • PHP
  • SJIS→EUCに送っても文字化けしない

    htmlは、SJISで作っています。 PHPは、EUCで作っています。 普通は文字化けをするため、mb_convert_encoding関数を用いますが、 なぜか、この関数を使わなくても、文字化けしません。 友人は、有り得ないと言います。 事実、友人PCではmb_convert_encoding関数で文字化けを直してました。 私も友人に同感で、SJIS→SJISやEUC→EUCなら文字化けしないけど、文字コードが違うのです。違うから、mb_convert_encoding関数を使うと、思っているのですが‥‥ 設定が違うのかと思い、友人の、php.iniなどいくつかのファイルを私のPCに上書きしてもらいましたが、変わりませんでした。 こういうことってあるのでしょうか? 文字化けしないなら、mb_convert_encoding関数を使わなくて良いので、楽だと思いましたが・・・ 何かの不具合なら、いざ完成した時、またmb_convert_encoding関数をいれる手間がありますし、どうしようか迷っています。 本には、「文字化けしない場合もある」という記述は一言も書いてありませんでした。 逆に、「文字化けするからmb_convert_encoding関数を用いる」と大きく書いてあるぐらいです。 何かの設定なのでしょうか? ソフトのバージョンも、同じでした。不思議です。

    • ベストアンサー
    • PHP
  • 全角ファイル名をアップロードすると文字化け

    複数のファイルをアップロードできるスクリプトを作成しています。 サーバはWindows、PHPのバージョンは5です。 利用者の要望で日本語のファイル名もアップロードできるようにしたいのですが、文字化けします。 http://okwave.jp/qa1724442.html を参考にし、下記のスクリプトを move_uploaded_file($att_tmp, mb_convert_encoding($att_name,"UTF-8")); と、変更もしてみましたが、うまくいきません。 $valueは文字化けせずに表示されていますが、サーバ上ではファイル名が「逋コ陦ィ謇ソ隱阪す…」という風に化けてしまいます。 対策を教えて頂けませんでしょうか。 よろしくお願いします。 if (isset($_POST["submit"])){ //添付ファイル用変数 foreach($_FILES["att"]["error"] as $key => $error_a){ if($error_a == UPLOAD_ERR_OK){ $att_na = $_FILES["att"]["name"][$key]; $att_tmp = $_FILES["att"]["tmp_name"][$key]; $att_type = $_FILES["att"]["type"][$key]; $att_size = $_FILES["att"]["size"][$key]; if (strlen($att_na)>0){ //ファイル移動 list($att_nam,$k) = explode(".",$att_na); $ymdhis = date("YmdHis"); $att_name = "{$att_nam}-{$ymdhis}.{$k}"; move_uploaded_file($att_tmp, "file/$att_name"); $att_name_ar[] = $att_name; foreach($att_name_ar as $value){ echo $value."<br>"; } } } }

    • ベストアンサー
    • PHP