パス名に2バイト文字(マルチバイト文字)が含まれる場合の注意点

このQ&Aのポイント
  • パス名に2バイト文字(マルチバイト文字)が含まれる場合、プログラムが不具合を起こすケースがあると聞きました。今後はフォルダ名に使用する文字を半角に統一することを考えています。
  • しかし、既に使用しているファイルを新しく名付け直したフォルダに移動するか、新旧二つの同ジャンルフォルダが存在することになります。どちらの方法もデメリットがあります。
  • このような状況を踏まえても、フォルダ名に使用する文字を半角に限定することは合理的でしょうか。
回答を見る
  • ベストアンサー

パス名に2バイト文字(マルチバイト文字)が含まれる場合

 パス名に2バイト文字(マルチバイト文字)が含まれる場合、プログラムが不具合を起こすケースがあると聞きました。  今後はフォルダ名に使用する文字を半角に統一しようと考えたのですが、今まで私の環境ではファイルの全てを「マイコンピュータ」と名付けられたフォルダの中に格納していました(※1)。  よって、以前まで使用していたファイルを全て新しく名付け直したフォルダに移動する(もしくはフォルダ名自体を付け直す)か、新旧二つの同ジャンルフォルダ(例:「プログラム」と「Program Files」)が存在する状況を許容することになり、それぞれにデメリットがあります。  これらの状況を踏まえた上でもフォルダ名に使用する文字を半角に限定してゆくことは合理的でしょうか。 ※1:家族との共有PCなので、便宜上「D:\******\マイコンピュータ」のように専用の総合フォルダを作って管理しています(「******」は半角ローマ字で私の名前)。

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

  • ベストアンサー
回答No.2

>パス名に2バイト文字(マルチバイト文字)が含まれる場合、プログラムが不具合を起こすケースがあると聞きました。 かなり昔の事で、今はまったく問題が無いと思います。 古いネットワークハードディスクや、CD-Rを焼く際に、不都合が生じることがありますが、今まで無かったのであれば、今後もたぶん無いでしょう。 (日本語が使われている事より、フォルダが深く、かつ、はんぱなく長いファイル名のほうが問題が多いです) 日本語を半角英数にするのは、実際そういう場面に出くわしたときで遅くないと思います。 むしろ、日本語が使える手段はいくらでもあるので、そういった方法を選択しなくても済むはずです。

st52ad
質問者

お礼

迅速かつ的確なご回答、本当にありがとうございました。 過去に二件ほどの不都合が生じたため強く印象に残っていましたが、なるほど言われてみれば文字通り数える程度ですね。 無理をして名前を直すことはせず、問題が起きたらそのプログラムのみを専用フォルダに移す方針に変更しようと思い直しました。

st52ad
質問者

補足

もしよろしければ「日本語が使える手段」についても教えていただけないでしょうか。 すでに質問に対応する回答をいただいているのに申し訳ありませんが、検索のヒントとなるキーワードだけでも教えていただければ幸いです。

その他の回答 (2)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.3

ShiftJISの場合に、パス区切りとしてなんにも考えずに'\'だけを検索している。 というプログラムで問題が発生します。 英語圏などではそもそもShiftJISなんぞありませんので、表面化しやすいだけです。 # 日本語のプログラムででも…です。 「表」とかをフォルダ名に使っているとうまく動かない場合がある。 とかですね。

st52ad
質問者

お礼

早速のご回答をありがとうございました。 なるほど、そういう部分で問題が発生、表面化していたのですね。 勉強になりました。

  • tatsu01
  • ベストアンサー率18% (292/1540)
回答No.1

日本語環境で、日本語のソフトを使っているだけなら特に問題はありません。 英語版のソフトを使うと文字化けする可能性が大きいですが、その程度の弊害です。 そのソフトに必要なフォルダやファイルが半角英数文字なら問題ありません。

st52ad
質問者

お礼

早速のご回答をありがとうございました。 参考にさせていただきます。

関連するQ&A

  • フォルダー名の大文字小文字

    WindowsXP VB.NET でプログラミングしています 今日起動試験していると,ファイルアクセスできません で,いろいろ調べてやってみて,最後にフォルダー名を(エクスプローラーで)大文字から小文字に変えてみると動きました フォルダー名は半角のアルファベットです プログラム中では大文字で扱っています Windouwsでは,UNIXみたいに,フォルダーやファイル名の大文字小文字の区別はしないと思っています 本当にそうなんでしょうか?

  • 数千件のファイル名を文字を小文字化して文字を追加

    どなたか、助けてください。 OSは、ウインドウズ7です。 特定のフォルダに入っている 数千件の ファイル名を (1) 小文字かして (2) 文字を追加したいのです。 いろいろ、調べたんですが、コマンドというものを使って 名前を変えるという下記のものは見つけたのですが >あるフォルダ内の.jpgファイルのファイル名の先頭に「2007_09_」という文字列を付加する例 >ファイル名を変更したいフォルダで、 >「for %i in (*.jpg) do ren %i 2007_09_%i というの応用して、 そのなかのファイル名を大文字半角から小文字半角に変えて さらに文字列を追加したいのです。 (3) また、そのファイル名のリストを作りたい のですが、未熟な私には、上手く 出来ず、困っています。 どなたか、詳しいお詳しい方、 (1) (2) (3) のコマンドの書き方をお教え助けてください。 お願いします。

  • Windows上で作成した、2バイト文字、半角スペース入りのファイルやフォルダは、Linux上で扱えるのでしょうか・・・

    初歩的な質問です... 。 一週間前に、以下の質問をしました。 Vine Linux を使いたいのですが・・・(初歩的な質問です) http://okwave.jp/qa2958373.html ANo.3の回答者様から、 >>フォルダ名・ファイル名が英数字(および一部記号)のみであれば問題ありません。いわゆる全角文字が含まれている場合、フォルダ名・ファイル名が文字化けしたり、読めなかったり、アクセスできなかったりします。 という回答をいただきました。 現在、Windows XP入りのマシンを使用しています。このマシン上には、NTFSでフォーマットした、データファイル(txt,doc,mht,htmその他)を入れるためのNTFSパーティション(D:)があります... 。 NTFSパーティション(D:)には、半角スペースの入ったファイル、フォルダや、2バイト文字を使用したファイル、フォルダもあります。 例えば、このマシンにVine4.1(またはFedora Core 6)を未使用領域にインストールしてデュアルブートさせた場合、Vine4.1(またはFedora Core 6)から、上記のNTFSパーティション(D:)にマシン上にアクセスすると、ファイルやフォルダは、『通常』、文字化けなどせずに、正常に認識されて、読み書きができるようになるのでしょうか?。 (Vine4.1(またはFedora Core 6)は、NTFS上の、半角スペースの入ったファイル、フォルダや、2バイト文字を使用したファイル、フォルダを扱うことができるのでしょうか?。) NTFSパーティション(D:)には、[.mht]で保存したWebページのスクラップファイルも沢山あります。ほとんどは、2バイトのファイル名です... 。[.txt]も同様です... 。 ほとんどのフォルダは、半角名ですが、半角スペースが付いてしまっています... 。 知識が乏しく、Web検索してもなかなか解決できません... 。 お願いいたします... 。

  • HTMLの2バイト文字の自動変換ソフトは?

    HTMLの2バイト文字の自動変換ソフトは? ホームページに載せようと、HTMLでプログラムを書きました。 写真などは漢字で記載して、バソコン上では正常に動作するので 問題無いと思ってました。 しかし、 ホームページにアップロードしたら、漢字の文章は問題無いのに、 漢字名のJpgの写真は表示されてませんでした。 写真などを参照するのに漢字が使えないことが判り、急遽半角英文字に 変更することにしましたが、何分にも多いので、大変な作業になることが分かりました。 そこで、 別フォルダーにまとめて保存している写真のファイル名を変更するとそれを参照しているHTMLのプログラム内の 写真のファイル名も自動的に変更してくれるような(フリー)プログラムは無いでしょうか? 又は、 何か良い解決法は有るでしょうか? WindowsXPを使用しています。

  • MS-DOSの2バイト文字のファイル名が扱えない

    10年以上前にPC-9801のMS-DOS 3.1 で作成したテキストファイルを フロッピィ経由で WindowsXP Home Edition Version 2002 Service Pack 2 にコピーしようとしました。 ファイル名が1バイト文字のみのものや 2バイト文字でも漢字の場合は問題なくコピーできました。 ところが「α(ギリシア文字アルファ)」や「m(全角ローマ字小文字エム)」で始まるファイル名のものは  ファイルまたはフォルダのコピー エラー  ファイルをコピーできません。送り側のファイルまたはディスクから読み取れません。  OK というウィンドウが出てきてコピーできません。 (コマンドプロンプトでやっても同様です。) 仕方が無いので、PC-9801上で一度1バイト文字のファイル名にRENAMEし、Windows上にコピーし終えてからWindows上でファイル名をαやmに直すという作業をしています。 ワークアラウンドとしては十分ですが、そういったファイルが大量にあるのでとても面倒です。 なんでこんな仕様になってるのでしょうか? どこかの設定を変えることで、 MS-DOSで作成されたαやmで始まるファイルをそのまま扱うようにできないでしょうか。

  • 同一フォルダ内に一見同じファイル名のファイルができてしまいます

    同一フォルダ内に、一見同じファイル名に見えるファイルができてしまい困っています。 文字列を拾いたいファイルをテキストエディタから開き、半角数字の文字列をコピペし、そのコピーした文字列(半角数字)でフォルダ名を作成しているとたまに半角スペースのようなもの()←カッコ内の文字です。が文字列内に混じってしまいます。 その作成されたフォルダ名は見た目上は()は入っていないのですが、「ファイル名を変更」からコピーし、テキストエディタなどに貼り付けると()が混じっています。 この現象はいつ起こるかはわからなく、同じテキストからコピーしたものでも()が混じるとき、混じらないときがあります。 この謎の文字、()は何なのでしょうか?そしてそれが混じってしまう原因について、何かお知恵をお貸しください。 使用しているOSはWindowsXP Home Edition2002 SP2、使用しているテキストエディタはMKeditorです。 よろしくお願いします。

  • ファイル名に使用できる文字について

    使用するOSやアプリケーションによっては、ファイル名に使用する文字というのは制限があると聞いた事があるのですが、どういった文字が使用しないほうがいいのでしょうか? 特に知りたいのは、半角スペースを多用しているので使用しない方がいいのかどうかが知りたいです。?半角スペースより半角アンダーバーの方がいいのでしょうか? 今はwindows2000を使用していますが、マック等の他のOSやアプリケーションを使用する事になった時にファイル名をいちいち変えなければならなくなると大変なので教えて戴きたいと思い質問させていただきました。 具体的にどんなアプリケーションやOSでどんな文字が使用出来ないのかを教えて戴けると幸いです。

  • MEや98パソコンでフォルダ名やファイル名が大文字で表示される

    作成したフォルダやフィル名に半角英数で名前をつけたのですが、次回見たとき、全てが大文字に変わっていました。 HPを作成する時などとても不便で困っています。 また、フォルダないのファイルをXPのように「縮小版表示」などでファイルを見る事はできないでしょうか? web表示はひとつひとつクリックしないとファイルが見れないという不便さがあるので、どなたかご存知の方は教えてください。

  • Win禁則文字を使ったファイル名の変換について

    MacでWin禁則文字を使ったファイル名やフォルダ名が大量にあります。主には半角の中ポチ「・」なのですが、これらの文字を抜いてrenameしたいのですが、なにかよい方法があったら教えてください。 ちなみにサブフォルダーまで一気に変換したいと思っています。 よろしくお願いします。

  • ファイル名を半角大文字にする方法?

    すみません。実はすごく基本的なので、ちょっと恥ずかしいのですが、 質問があります。 新しく作ったファイル名をつける際なのですが、 半角でつけた場合に、大文字(例:CANDLE.txt)と入力した場合ですが、 半角小文字(例:Candle.txt)となる事があります。 無論、全角ならば入力した、そのまんまファイル名になるのですが、 半角の場合だけ全角で入力しても、半角になる事があります。 たまに、ちゃんと半角大文字で入力した通りにファイル名が出来る事があるので、 いったいこれはどういう法則でなるのかが不思議に思いました。 ちなみに、OSはNT、9×、2000他を使用しています。 宜しくお願いいたします。