Mac OS Xのファイル名の文字エンコーディングはUTF-8になってる。このファイル名をEUC-JPとかの他のエンコーディングに変換するときに、そのままだとおかしくなる。 どうも原因は、Mac OS Xではひらがなやカタカナの濁音や半濁音を表すのに、二つの文字を組み合わせるようにしているからのよう。EUC-JPではそれらの文字は一つの文字として扱うようにしているので、うまく変換できない。ためしに再現してみるのに、以下のようなPerlのコードを用意してみた。 use warnings; use strict; use Encode; use Unicode::Normalize; my $str = "スマイルギャング"; my $norm = decode_utf8($str); my $osx = NFD($norm); # 濁音を二つの文字を組み合わせて表す print encode