プロが教える店舗&オフィスのセキュリティ対策術

【フォルダ名の文字コードを変換したい】

Windows Vistaです。

Windowsではフォルダ名にShift-JISを使っていますが、とあるプログラムが日本語を読み込む際、文字コードがUTF-8でないと読み込めないようで、フォルダ名に日本語を含むフォルダを参照すると文字化けしてしまいます。
なのでフォルダ名をUTF-8に変換したいです。

検索するとLinux上でShift-JISのフォルダ名をUTF-8にしたり、Windows上でもファイルの内容をShift-JISからUTF-8に変換したりする方法は見つかるのですが、Windows上でフォルダ名をUTF-8に変換する方法が見つかりません。
UTF-8に変換するとエクスプローラ上では文字化けするので、需要がないのでしょうか。
コマンドプロンプトとか苦手なので、何かフリーソフトでもあればいいのですが…

A 回答 (4件)

>間違いなくUTF-8です。


了解しました。そんなソフトもあるのですね、初めて知りました。

>Shift-JISとかUTF-8とか関係なく、バイナリ的にフォルダ名を変更することはできないのでしょうか。
できません。
Windowsのファイル/フォルダ名はUnicodeで記録されています。
それを、WindowsのAPIか何かで普通に読むと、OSの言語に応じて標準の文字コードに変換された値が返ります。日本語ではShift_JISです。
ソフトから読めるのはこの変換された状態のデータだけです。変換結果はShift_JISで解釈できる値のみしか含まれないので、UTF-8で読める値にすることはできません。

この回答への補足

なるほど…
いわば「二段構え」になっているのですか。それじゃあ確かに無理ですね…
OSの言語を変更して「標準の文字コード」をUTF-8にしてしまえば読めるんじゃないかとか思ったのですが、さすがにそこまでして日本語を表示させたいわけでもないし、今のままでも一部だけとはいえ表示できるわけですから、とりあえずこれで満足することにします。ありがとうございました。

ちなみにStepManiaがUTF-8対応なのは、アメリカで作られたソフトだからというのもあると思います。日本語フォントを導入すれば日本語を表示できる仕様になっている(UTF-8で解釈できる部分のみ)とはいえ、グループ名まで日本語表示にすることは作り手側の想定しない使い方だったのかも知れません。

補足日時:2010/11/13 15:41
    • good
    • 0

文字化けの状況だけですと、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とか関係なく(要するにデコードしてコピペするのではなく、デコードせずにフォルダ名を格納したデータそのものを書き換える)、バイナリ的にフォルダ名を変更することはできないのでしょうか。

補足日時:2010/11/12 15:40
    • good
    • 0

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側で用意された「この文字は認識できません」的な記号が表示されています)

補足日時:2010/11/08 07:09
    • good
    • 0

8.3形式ならともかく、長い名前の方はディスク上はWindows 95の時代からUTF-8記録ですけど。



だから、漢字ひらがなカタカナハングルを全部使ったファイル名も設定できます。

Windows側のファイル/フォルダ名を取得するプログラムは何を使っていますか ?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!