高橋さん、
いろいろと確認していただきありがとうございます。私の環境はまだ
Java6 は 1.6.0_07 なのでまったく同じ環境というわけではないのですが、
> ると。とすると、最初に文字化けしていたのも、JavaFXがnetbeans_jdkhomeを見
> てJDK6を向き、Shift JISになっていたからのように思われます。
ん〜これはたぶん違うと思います。Shift JIS になっているのが問題
ではなくて、JavaFX(javafxpackager) の出力と、NetBeans がそれを
読み込んでいるエンコーディングが違うために発生していると考えています。
私の理解だと NetBeans の出力ウィンドウは NetBeans のデフォルトの
エンコーディングを使って外部プログラムの出力を読み込んでいます。
高橋さんの最初のケースでは、
>> ダイアログでは Java のバージョンはいくつになってますか?
>
> 1.6.0_13になってます。
なので、NetBeans が使っているエンコーディングはすでに Shift JIS ですね。
JavaFX が Shift JIS でエラーを出力していれば問題はないはずですが、
文字化けしていたということは javafxpackager が JDK5 を使い、
コンパイルエラーを UTF-8 で出力していた、ということになります。
javafxpackager の UTF-8 の出力を NetBeans は Shift JIS を使って
読み込みんでいたために文字化けが発生していたわけです。
この状況で -J-Dfile.encoding=UTF-8 を付けて NetBeans が使う
エンコーディングを強制的に UTF-8 にしたので、NetBeans と
JavaFX が使うエンコーディングが UTF-8 で一致し、文字化けが
解消されたということですね。
高橋さんの今の環境で動かないのはなぜかわかりませんが、JavaFX で
どの JDK が使われているかは NetBeans から JavaFX のアプリケーションを
1つ実行して ps コマンドでプロセスを確認してみてください。
このように一致していれば文字化けはしないと思います。NetBeans を
JDK6 に、JAVA_HOME も JDK6 に設定して起動しました。
(ただしエンコーディングは Shift JIS です)
4134 ttys001 0:35.93 /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -Djdk.home=/Sys
4156 ttys001 0:01.51 /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -Djava.library.
これは JAVA_HOME なしで NetBeans を JDK6 を使って起動
した場合です。上の NetBeans は JDK6 ですが下の javafx は
JDK5 なので文字化けを起こします。
4638 ttys001 0:39.68 /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -Djdk.home=/Sys
4672 ttys001 0:01.01 /System/Library/Frameworks/JavaVM.framework/Home/bin/java -Djava.library.path=/Library/J
> 一方、ターミナルで実行した場合は、JAVA_HOMEがなかったので、片貝さんご指
> 摘のデフォルトディレクトリにあるJDK5を見ていてUTF-8だったけど、ターミナ
> ルもUTF-8だったので文字化けしなかったと。
はい、正しいと思います。
> 本当はUTF-8で統一したいので、JDK6をUTF-8にする方法があれば一番ありがたい
> のですが。
そうですね、どこか設定ファイル等を変更して変更出来るのか
どうかは、すいません、私にはちょっとわかりません。どなたか Mac に
詳しい方で正式な方法を知っていたら教えてください。
JavaFX だけでよいのであれば javafx のコマンド群はシェルなのでこれらを
変更して -Dfile.encoding=UTF-8 を付けてもよいと思います。あとは私が
知っている範囲だと... _JAVA_OPTIONS に -Dfile.encoding=UTF-8 を
指定するということでしょうか。
http://blogs.sun.com/katakai/entry/global_setting_for_java_apps私の環境だとこれで両方とも JDK6 を使って UTF-8 で動かせました。
ただ正式な方法ではないので自己責任でお願いしますね。
片貝
09.6.7 3:39 AM, S.Takahashi wrote:
> 片貝さん、すぐにこんなに詳しいご回答して頂いてありがとうございます。
> 反省しきりな高橋です。いろいろ試していて返信が遅くなってしまい申し訳あり
> ません。
>
>> おそらく 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@...
>
--
Masaki Katakai
Sun Microsystems K.K.
http://blogs.sun.com/katakai---------------------------------------------------------------------
To unsubscribe, e-mail:
nbdiscuss_ja-unsubscribe@...
For additional commands, e-mail:
nbdiscuss_ja-help@...