« Return to Thread: 出力ウィンドウの文字化け (netbeans6.5.1/MacOSX/JavaFX)

Re: 出力ウィンドウの文字化け (netbeans6.5.1/MacOSX/JavaFX)

by S.Takahashi :: Rate this Message:

Reply to Author | View in Thread

片貝さん、すぐにこんなに詳しいご回答して頂いてありがとうございます。
反省しきりな高橋です。いろいろ試していて返信が遅くなってしまい申し訳あり
ません。

> おそらく NetBeans で使っている JDK と JavaFX が使っている
> JDK が一致していないのだと思います。Mac では JDK5 と JDK6 では、
> デフォルトで使われるエンコーディングが異なっていますね。

なるほど。JDK6はShift JISなんですね。それは知りませんでした...。

> NetBeans メニューから「NetBeans について」で表示される
> ダイアログでは Java のバージョンはいくつになってますか?

1.6.0_13になってます。

> 以下で調べるとバージョンはいくつになっているでしょう?
>
> /System/Library/Frameworks/JavaVM.framework/Home/bin/java -version

$ /System/Library/Frameworks/JavaVM.framework/Home/bin/java -version
java version "1.5.0_19"

です。

> NetBeans が使っている JDK のバージョンと、このバージョンを
> そろえる必要があるようです。

なるほど。そうだったんですか。ちなみにこの辺の情報ソースを教えて頂くこと
はできますでしょうか。不勉強で申し訳ありません。

> これで直ったということは高橋さんの環境では、おそらく
> NetBeans を JDK6 で、/System/Library/Frameworks/JavaVM.framework/Home
> には
> JDK5 が入っているのではないでしょうかね。

その通りでした。

> -J-Dfile.encoding=UTF-8 を付ける代わりに NetBeans を JDK5 で
> 起動してみてください。NetBeans で JDK を指定するには以下のように、
>
> % netbeans --jdkhome
> /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
> (etc/netbeans.conf に書いておけます)

はい、確かにこうすると文字化けしなくなります。
(netbeans.confのnetbeans_jdkhome=を1.5に変更)

> 逆に JavaFX で JDK6 を使うようにするのであれば、環境変数 JAVA_HOME に
>
> export
> JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
>
> などと書いておけばいいと思います。

JDK6を使いたいので、そうしようと思います。

ですが、JAVA_HOMEを1.6に設定して、-J-Dfile.encoding=UTF-8を取ると、やは
り文字化けします。(ログインし直して環境変数を確認)

で、いろいろ試して思ったのですが、JAVA_HOMEを1.6にしてnetbeans_jdkhomeを
1.5にすると文字化けしない(=UTF-8)ことから、JavaFXもnetbeans_jdkhomeを見
てJDK5を使っているように思います。つまりJavaFXもnetbeans_jdkhomeを見てい
ると。とすると、最初に文字化けしていたのも、JavaFXがnetbeans_jdkhomeを見
てJDK6を向き、Shift JISになっていたからのように思われます。

一方、ターミナルで実行した場合は、JAVA_HOMEがなかったので、片貝さんご指
摘のデフォルトディレクトリにあるJDK5を見ていてUTF-8だったけど、ターミナ
ルもUTF-8だったので文字化けしなかったと。

それで、JDK6を使っていきたい私の場合は、netbeans_jdkhomeを1.6に、起動オ
プションに-J-Dfile.encoding=UTF-8を設定すれば良いのではないかと。それと
時々ターミナルでも使いたいので、JAVA_HOMEも1.6にして、ターミナルをShift
JISにする、としたいと思います。いろいろ見ていたら、netbeans_jdkhome=$
{JAVA_HOME}とする方法(~/.MacOSX/environment.plistを作成)があるようなの
で、私のようにターミナルでも使う場合は、合わせておいたほうが良いかもしれ
ませんね。

本当はUTF-8で統一したいので、JDK6をUTF-8にする方法があれば一番ありがたい
のですが。

何か色々やり直したりしてちょっと混乱している部分もあるので、また間違って
たらすみません。

> NetBeans から呼び出される JavaFX がどの JDK を使うかは本来は
> NetBeans 側でちゃんと設定してあげないといけないですね。これに
> 関しては後でバグレポートをあげておきます。ありがとうございました。

逆にもしかしたら誤解させてしまったかもしれず、大変申し訳ありません...。


以上、よろしくお願いします。



Masaki Katakai さんは書きました:

> こんばんは、高橋さん、
>
> おそらく NetBeans で使っている JDK と JavaFX が使っている
> JDK が一致していないのだと思います。Mac では JDK5 と JDK6 では、
> デフォルトで使われるエンコーディングが異なっていますね。
>
> NetBeans メニューから「NetBeans について」で表示される
> ダイアログでは Java のバージョンはいくつになってますか?
>
> JavaFX のコードをコンパイルする javafxpackager コマンドは
> 環境変数 JAVA_HOME が設定されてない場合はどうも以下にある
> java を使うようです。
>
> /System/Library/Frameworks/JavaVM.framework/Home
>
> 以下で調べるとバージョンはいくつになっているでしょう?
>
> /System/Library/Frameworks/JavaVM.framework/Home/bin/java -version
>
> NetBeans が使っている JDK のバージョンと、このバージョンを
> そろえる必要があるようです。
>
>  > 自己レスですみません、高橋です。
>  >
>  > -J-Dfile.encoding=UTF-8
>  >
>  > で治りました。
>
> これで直ったということは高橋さんの環境では、おそらく
> NetBeans を JDK6 で、/System/Library/Frameworks/JavaVM.framework/Home には
> JDK5 が入っているのではないでしょうかね。
>
> -J-Dfile.encoding=UTF-8 を付ける代わりに NetBeans を JDK5 で
> 起動してみてください。NetBeans で JDK を指定するには以下のように、
>
> % netbeans --jdkhome
> /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
> (etc/netbeans.conf に書いておけます)
>
> 逆に JavaFX で JDK6 を使うようにするのであれば、環境変数 JAVA_HOME に
>
> export
> JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
>
> などと書いておけばいいと思います。
>
> NetBeans から呼び出される JavaFX がどの JDK を使うかは本来は
> NetBeans 側でちゃんと設定してあげないといけないですね。これに
> 関しては後でバグレポートをあげておきます。ありがとうございました。
>
> 片貝
>
> 09.6.6 8:25 PM, S.Takahashi wrote:
>> 自己レスですみません、高橋です。
>>
>> -J-Dfile.encoding=UTF-8
>>
>> で治りました。
>>
>> Windowsのエンコーディングに関連して、
>>
>> "漢字コードが混在する場合"(5/26/2009)
>>
>> の返信で片貝さんがご回答されていたのですが、
>> MacOSという頭でスルーしてしまっていました。
>> また、コンソールで見て、
>>
>> env | grep LANG
>> LANG=ja_JP.UTF-8
>>
>> だったので余計UTF-8だから関係ないと思ってしまっていました。
>>
>> お騒がせして申し訳ありませんでした。
>>
>>
>>
>> S.Takahashi さんは書きました:
>>> みなさんこんにちは。高橋と申します。
>>>
>>> 出力ウィンドウのエラーメッセージの文字化けで悩んでいます。
>>>
>>> 環境は、
>>>
>>> netbeans6.5.1
>>> JavaFX(1.1.1&1.2)
>>> MacOSX 10.5.7
>>> java -versionは、1.6.0_13
>>>
>>> です。
>>>
>>> 大きな実害はないのですが、コンパイルエラーが出るとき、
>>>
>>> /Users/NetBeansProjects/LaGotadeCafe-4/src/lagotadecafe/Main.fx:251: 繧キ
>>> 繝ウ繝懊Ν繧定ヲ九▽縺代i繧後∪縺帙s縲�
>>> 繧キ繝ウ繝懊Ν: 繧ッ繝ゥ繧ケ bb
>>> 蝣エ謇�   : lagotadecafe.Main 縺ョ 繧ッ繝ゥ繧ケ
>>> class aa extends bb{
>>> 繧ィ繝ゥ繝シ 1 蛟�
>>> 繧ィ繝ゥ繝シ: javafxc 縺ョ螳溯。後↓螟ア謨励@縺セ縺励◆縲∫オゆコ�さ繝シ繝� 1
>>> /Users/NetBeansProjects/LaGotadeCafe-4/nbproject/build-impl.xml:143:
>>> exec returned: 255
>>> BUILD FAILED (total time: 1 second)
>>>
>>> みたいに出るので、ちょっとやな感じがしてまして、出来る事なら直したいと思
>>> いポストさせて頂きました。何かアドバイスを頂ければ有り難いです。
>>>
>>> インストールしたのは日本語版のフルインストール版で、これにプラグインで
>>> JavaFX1.1.1を追加。後から1.2が出たのでJavaFX1.2 SDKだけ後からインストー
>>> ル。JavaFXは1.1.1でも1.2でも現象に変わりありません。
>>>
>>> --locale enで英語モードで起動しても同じような化け方をします。
>>>
>>> プロジェクトのプロパティのSourceのencodingはUTF-8です。
>>>
>>> コンソールから直接javafxcでコンパイルすると、
>>>
>>>> $ javafxc Main.fx
>>> Main.fx:251: シンボルを見つけられません。
>>> シンボル: クラス bb
>>> 場所    : lagotadecafe.Main の クラス
>>> class aa extends bb{
>>>                  ^
>>> エラー 1 個
>>>
>>> と出力されます。
>>> ※class bbが無い状態でコンパイルしたものです。
>>>
>>> よろしくお願い致します。
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@...
>>> For additional commands, e-mail: nbdiscuss_ja-help@...
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@...
>> For additional commands, e-mail: nbdiscuss_ja-help@...
>>
>
>


















---------------------------------------------------------------------
To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@...
For additional commands, e-mail: nbdiscuss_ja-help@...

 « Return to Thread: 出力ウィンドウの文字化け (netbeans6.5.1/MacOSX/JavaFX)