mac

 

macのLIONでjdk1.7でeclipse上で起きる文字化けを対策する

macのLIONで、JDK1.7インストール後にeclipseで文字化けする際の対策です。terminalでsvn coすると文字化けしないのに、eclipseでチェックアウトすると文字化ける。そんな時に文字化けを解消する環境設定をします。

新サイト、tree-mapsを公開しました!!

tree-maps: 地図のWEB TOOLの事ならtree-mapsにお任せ!

地図に関するWEB TOOL専門サイトです!!

大画面で大量の緯度経度を一気にプロット、ジオコーディング、DMS<->DEGの相互変換等ができます!

◯ 広告

macでjdk1.7インストール後、eclipseでsvnチェックアウトすると文字化けする事があります。

ファイル名・フォルダ名の日本語部分が全て?になってしまいます。(例)100_???.txt

どうやら1.7を入れた事でenvのLANGが無視され、文字化けが発生するようです。

terminal上でsvn coすると化けないが、eclipse上でsvnチェックアウトした場合に化けます。

以下のコマンドでファイルを生成します。

touch ~/.bashrc
touch ~/.bash_profile

.bashrcはaliasコマンド等を記述しますが、今回はファイルの中身は空でいいです。

.bash_profileは以下の内容を記述し、ファイルを保存します。

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

export LANG=ja_JP.UTF-8

.bash_profile作成後、早速読み込んで設定を反映します。

localhost:~ tree$ . ~/.bash_profile 
localhost:~ tree$ echo $LANG
ja_JP.UTF-8

eclipseの設定ファイルにファイルエンコーディング設定を追加します。

localhost:~ tree$ vi /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini 

eclipseのパスは任意に変更して下さい。続いて以下をeclipse.iniの末尾に追記して保存します。

-Dfile.encoding=UTF-8

以下のコマンドでファイルを生成します。

vi ~/.MacOSX/environment.plist

以下の内容を記述し、ファイルを保存します。

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>JAVA_HOME</key>
        <string>/System/Library/Frameworks/JavaVM.framework/Versions/1.7/Home</string>
        <key>LANG</key>
        <string>ja_JP.UTF-8</string>
    </dict>
</plist>

JAVA_HOMEもeclipse上から参照できなくなるので、LANGと一緒に設定しておきます。

OSを再起動します。

再起動後にeclipseでsvnチェックアウトすると、文字化けが解消されます!!

Setting environment variables for user processes
There is a special environment file which loginwindow searches for each time a user logs in. The environment file is: ~/.MacOSX/environment.plist (be careful it's case sensitive). Where '~' is the home directory of the user we are interested in. You will have to create the .MacOSX directory yourself using terminal (by typing mkdir .MacOSX). You will also have to create the environment file yourself. The environment file is actually in XML/plist format (make sure to add the .plist extension to the end of the filename or this won't work). An example environment file is shown below. The file was created using Xcode.

(要約)environment.plistはユーザがログインした際にログインウインドウのための特殊な環境ファイルがあります。

envのLANGは参照されないがenvironment.plistのLANGは参照される為、文字化けが解消されるようです。

◯ 広告