Freemind 1.0.0 で日本語ファイル名を正しく扱えない問題の対策
MacOS X 上で Freemind を用いる場合に「日本語を含むファイルを開けない、保存できない」という問題が発生することがあります。おそらく、Java 7 との組み合わせで発生する症状です。
以下ではこの問題の解決方法を説明します。
- 解決方法の基本
JavaアプリをGUIから起動する場合に、シェル変数 LANG にて、ja_JP.UTF-8 や en_US.UTF-8 など、UTF-8 エンコードを明示します。
ただし、通常のUNIX環境とは違って ~.profile 等に記述しても効果がありません。
- OSバージョンごとの対処方法(10.7 Lion までのバージョン)
~/.MacOSX/environment.plist に以下の記述を行います。これは一般ユーザ権
限で可能です。
LANG
ja_JP.UTF-8
- OSバージョンごとの対処方法(10.8 Mountain Lion 以降)
/etc/launchd.conf に、setenv LANG ja_JP.UTF-8 という内容を記述してください。管理者権限が必要なので、sudo 等で作業します。
- 詳細説明
UNIX 向けのソフトウェアは、通常はシェル変数 LANG によってデフォルトの文字エンコードを決定します。これは Java でも同じです。
しかし、MacOS においてはデフォルトの状態で LANG が未定義です。唯一、「ターミナル.app」の実行時にだけ、システムの言語設定に相当する形で LANG がセットされています。
このため、GUI から起動するアプリで、LANG を前提に挙動を変えるソフトウェアは、LANG が未定義となることから、マルチランゲージの処理が(ユーザ目線で考えたときに)想定外の動作となります。