![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
半角カナのファイル名がついたファイルって今時あるんでしょうか?
そのアップロードが自動的なものでなく、人間によるアップロードが引き金となるのなら
アップロードをされる際にファイル名をチェックして、「半角カナのファイル名では登録できません」的なメッセージを表示して拒否したほうが良いと思います。
半角カナを受け付けたいのならば、ファイルの可搬性を増すためにもファイル名は変換したほうがいいと思います。
でないとバックアップの時にバックアップ先によっては、また問題になるかもしれませんし、ファイル名をDBに突っ込むときなど、どこかで必ずまた同じ問題で悩みます。
とりあえず、全角カナに変換したり、ユニコードにしたりすればいいとは思いますが、プレフィクス+番号にしてしまってもいいのではないかと思うのですが、どうでしょう。
元のファイル名を管理したければ、量にもよりますがファイルやDBにテーブルを1つ作って
そこでその変換したファイル名と元のファイル名の対応表をつくるなどしたほうが良いのではないかと思います。
生のファイル名で中身が迅速に判断できないと困るといった場合には番号では困ってしまいますが
ウェブベースで常にアクセスされるファイルなのであれば、一覧表示するときに、元のファイル名で表示すればいいだけの話ですので。
変換自体はネットにごろごろしてます。
「perl 半角カナ 変換」で検索してみてください。
早速のご回答ありがとうございます。
>半角カナのファイル名がついたファイルって今時あるんでしょうか?
送られてきたファイルをそのまま管理しなければならないので・・・
DB等に格納することはなく、同じ名前のログが出力できればいいのですが。
もう一度調べてみます。
No.2
- 回答日時:
一番気になるのは、そのファイル名は、保存先のOSの文字コードに一致しているのかです。
ちゃんとOSの文字コードにあわせて文字コードを変換していますか?
あと、ファイル名を変更するときに1バイト文字以外がまざるとはげるなんてことはないですよね。
もし化けるようならファイル名を作る時点でバグっている可能性もあります。
前者のパターンだと、OSの文字コードを変更してあげるだけで
ちゃんとしたファイル名が表示されるはず。(保存時の文字コードが違うという問題)
後者であれば、何をどうやってもファイル名は復元されないのでロジックを見直すしかないです。
ありがとうございました。
ファイル名は、こちらでは決められないのでOSの文字コードに合わせることはできません。
ナンバリングしてファイル管理をする方向ですすんでいます。
貴重なご意見ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/10 09:06
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- その他(ソフトウェア) 画像のファイル形式、拡張子が変わると、性能が変わると思うのですが、ファイル名の「jpg、png、do 8 2022/08/10 13:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホの予測変換について
-
文字コードの%E3%80%とは何です...
-
テキストをhtml変換するには
-
シャープ(#)の受け渡し
-
VB6にも「ToString」ってあり...
-
intの数値を文字列に変換
-
五十音の並べ替えsortを教えて...
-
カタカナのデータをひらがなに...
-
python/変数の変換
-
「%3a=:」「%3f=?」。こういう...
-
日本語→ギリシャ語翻訳サイト
-
秀丸マクロ: 正規表現で表さ...
-
シングルクォーテーションの変換
-
文字列を quoted-printable 文...
-
Fortranでの文字型から数値への...
-
クリーンアップやデフラグについて
-
ギャル文字の作り方
-
ビジュアルスタジオ
-
WORD2010の縦中横機能がお...
-
CSVファイルの中で、「 , 」カ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでPDFファイルをMicro...
-
CString から LPCTSTRの型に変換
-
文字コードの%E3%80%とは何です...
-
SJIS->UTF8->SJISコード変換に...
-
Visual Studio プロパティペー...
-
テキストをhtml変換するには
-
VBScript文字列をSJISからUTF8...
-
文字化けしてしまって困っています
-
LINUX上でシリアル通信(C++)
-
シャープ(#)の受け渡し
-
【PHP】全角記号を半角記号...
-
エクセルでの漢字(全角ひらが...
-
URLが日本語なのになぜ表示...
-
CString型からdouble型への変換
-
ファイル名の右側を変更したい ...
-
SQLのデータで半角カナを全角に...
-
Excelで半角カナのみを全角に変...
-
改行を含んだ文字列を正規表現...
-
VB6にも「ToString」ってあり...
-
ウイザードからのVBAでクエリー...
おすすめ情報