
No.1ベストアンサー
- 回答日時:
半角カナのファイル名がついたファイルって今時あるんでしょうか?
そのアップロードが自動的なものでなく、人間によるアップロードが引き金となるのなら
アップロードをされる際にファイル名をチェックして、「半角カナのファイル名では登録できません」的なメッセージを表示して拒否したほうが良いと思います。
半角カナを受け付けたいのならば、ファイルの可搬性を増すためにもファイル名は変換したほうがいいと思います。
でないとバックアップの時にバックアップ先によっては、また問題になるかもしれませんし、ファイル名をDBに突っ込むときなど、どこかで必ずまた同じ問題で悩みます。
とりあえず、全角カナに変換したり、ユニコードにしたりすればいいとは思いますが、プレフィクス+番号にしてしまってもいいのではないかと思うのですが、どうでしょう。
元のファイル名を管理したければ、量にもよりますがファイルやDBにテーブルを1つ作って
そこでその変換したファイル名と元のファイル名の対応表をつくるなどしたほうが良いのではないかと思います。
生のファイル名で中身が迅速に判断できないと困るといった場合には番号では困ってしまいますが
ウェブベースで常にアクセスされるファイルなのであれば、一覧表示するときに、元のファイル名で表示すればいいだけの話ですので。
変換自体はネットにごろごろしてます。
「perl 半角カナ 変換」で検索してみてください。
この回答へのお礼
お礼日時:2011/02/21 14:15
早速のご回答ありがとうございます。
>半角カナのファイル名がついたファイルって今時あるんでしょうか?
送られてきたファイルをそのまま管理しなければならないので・・・
DB等に格納することはなく、同じ名前のログが出力できればいいのですが。
もう一度調べてみます。
No.2
- 回答日時:
一番気になるのは、そのファイル名は、保存先のOSの文字コードに一致しているのかです。
ちゃんとOSの文字コードにあわせて文字コードを変換していますか?
あと、ファイル名を変更するときに1バイト文字以外がまざるとはげるなんてことはないですよね。
もし化けるようならファイル名を作る時点でバグっている可能性もあります。
前者のパターンだと、OSの文字コードを変更してあげるだけで
ちゃんとしたファイル名が表示されるはず。(保存時の文字コードが違うという問題)
後者であれば、何をどうやってもファイル名は復元されないのでロジックを見直すしかないです。
この回答へのお礼
お礼日時:2011/02/23 13:57
ありがとうございました。
ファイル名は、こちらでは決められないのでOSの文字コードに合わせることはできません。
ナンバリングしてファイル管理をする方向ですすんでいます。
貴重なご意見ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字コードの%E3%80%とは何です...
-
gccでiconvを使った文字コード...
-
16進数の文字列を文章に変える
-
ローマ字文字列の半角←→全角変換
-
CString から LPCTSTRの型に変換
-
Excel VBAでPDFファイルをMicro...
-
SJIS->UTF8->SJISコード変換に...
-
文字化けしてしまって困っています
-
シャープ(#)の受け渡し
-
フォントの色を保持したままセ...
-
CSVファイルの中で、「 , 」カ...
-
VBA 文字に半角が含まれて...
-
データにカンマが入ったCSVデー...
-
「abcで始まらない」を正規表現...
-
Excel 住所の分割(文字数制限...
-
openoffice calcで#DIV/0! の...
-
「一角」って何でしょうか
-
「何とかで始まり、何とかで終...
-
IEからEdgeへの移行に伴うIMEの...
-
VBA 置換文字がみつからない時
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字コードの%E3%80%とは何です...
-
CString から LPCTSTRの型に変換
-
Excel VBAでPDFファイルをMicro...
-
ローマ字からカナに変換する方...
-
SQLのデータで半角カナを全角に...
-
漢字からカタカナ変換マクロ
-
VBScript文字列をSJISからUTF8...
-
エクセルでの漢字(全角ひらが...
-
CString型からdouble型への変換
-
VB6にも「ToString」ってあり...
-
漢数字の変換
-
シングルクォーテーションの変換
-
SJIS->UTF8->SJISコード変換に...
-
r18文学賞は文字数ではなく、枚...
-
シェルスクリプトで文字列置換
-
gccでiconvを使った文字コード...
-
スマホの予測変換について
-
テキストをhtml変換するには
-
文字列が勝手にエスケープ文字...
-
vbwide(半角⇒全角変換)について
おすすめ情報