- ベストアンサー
Windowsフォルダ名の文字コード変換方法
- Windows Vistaでは、フォルダ名にShift-JISを使っていますが、一部のプログラムでは文字コードがUTF-8である必要があります。
- Linuxでは、Shift-JISのフォルダ名をUTF-8に変換する方法がありますが、Windows上でフォルダ名をUTF-8に変換する方法は見つかりません。
- Windows上でフォルダ名の文字コードをUTF-8に変換する方法を探しています。コマンドプロンプトに苦手な場合は、フリーソフトの利用を検討しています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>間違いなくUTF-8です。 了解しました。そんなソフトもあるのですね、初めて知りました。 >Shift-JISとかUTF-8とか関係なく、バイナリ的にフォルダ名を変更することはできないのでしょうか。 できません。 Windowsのファイル/フォルダ名はUnicodeで記録されています。 それを、WindowsのAPIか何かで普通に読むと、OSの言語に応じて標準の文字コードに変換された値が返ります。日本語ではShift_JISです。 ソフトから読めるのはこの変換された状態のデータだけです。変換結果はShift_JISで解釈できる値のみしか含まれないので、UTF-8で読める値にすることはできません。
その他の回答 (3)
- SortaNerd_
- ベストアンサー率59% (309/522)
文字化けの状況だけですと、Shift_JIS→UTF-8ともShift_JIS→Latin-1とも取れます。 ためしに「繧ケ」(ケは半角)という名前を付けてみてください。 これをShift_JISに変換したうえでUTF-8で解釈されれば「ス」に、Shift_JISに変換したうえでLatin-1で解釈されれば「ス」になります。 なお、もしこれでUTF-8で解釈されることが判明した場合、任意の名前を付けることは絶望的です。 Shift_JISで解釈できないコードは多数ありますのでその部分を避けて名づけることになり、まともな名前が付けられません。 たとえば上のテスト文字列も、UTF-8で「テスト」と表示させようとしたのですが「ス」しか残らなかったものです。
補足
間違いなくUTF-8です。 「絶望的」というのは、Shift-JISでは解釈できないからエクスプローラからリネームすることはできない、という意味でしょうか。 Shift-JISとかUTF-8とか関係なく(要するにデコードしてコピペするのではなく、デコードせずにフォルダ名を格納したデータそのものを書き換える)、バイナリ的にフォルダ名を変更することはできないのでしょうか。
- SortaNerd_
- ベストアンサー率59% (309/522)
WindowsはUTF-8なんて使っていませんよ。Unicode(UTF-16)です。>No1さん そして、 >フォルダ名に日本語を含むフォルダを参照すると文字化けしてしまいます。 ということであれば、Unicodeで書かれた英字のファイル名がきちんと読めているのですからUTF-8にしても解決しません。 UTF-8と判断した理由はなんでしょうか。またプログラム名や文字化けの例を示していただかないと回答は困難です。
補足
StepManiaというフリーの音楽ゲームです。 ゲーム画面ではグループ名(フォルダ名をそのまま使用)と曲名・アーティスト名(テキスト形式のsmファイルで指定)が表示されるのですが、smファイルで日本語の曲名などを指定する際の形式がUTF-8になっています。試しにsmファイルでフォルダ名と同じ名前を指定してANSIで保存したら、ゲーム画面ではグループ名と曲名が同じ化け方をしました。 化け方の例。 CaptivAte ~裁き~→CaptivAte □'□?□□' 三毛猫JIVE&ジャイブ→□O□?LJIVE□□□W□□□C□U (注:ゲーム画面からはテキストで曲名その他をコピペできないので、上記は見た目をそのまま表現したものです。□と?の部分にはStepMania側で用意された「この文字は認識できません」的な記号が表示されています)
- mashkun
- ベストアンサー率23% (86/364)
8.3形式ならともかく、長い名前の方はディスク上はWindows 95の時代からUTF-8記録ですけど。 だから、漢字ひらがなカタカナハングルを全部使ったファイル名も設定できます。 Windows側のファイル/フォルダ名を取得するプログラムは何を使っていますか ?
補足
なるほど… いわば「二段構え」になっているのですか。それじゃあ確かに無理ですね… OSの言語を変更して「標準の文字コード」をUTF-8にしてしまえば読めるんじゃないかとか思ったのですが、さすがにそこまでして日本語を表示させたいわけでもないし、今のままでも一部だけとはいえ表示できるわけですから、とりあえずこれで満足することにします。ありがとうございました。 ちなみにStepManiaがUTF-8対応なのは、アメリカで作られたソフトだからというのもあると思います。日本語フォントを導入すれば日本語を表示できる仕様になっている(UTF-8で解釈できる部分のみ)とはいえ、グループ名まで日本語表示にすることは作り手側の想定しない使い方だったのかも知れません。