- PR -

コマンドプロンプトからのコンパイルで文字化け回避方法を教えてください

投稿者投稿内容
キキ
常連さん
会議室デビュー日: 2005/08/31
投稿数: 29
投稿日時: 2009-03-18 16:47
返答が遅くなりました。

>コマンドプロンプトから、
>>type HelloWorld.java
>などして見るとどうなるでしょう。
■ 実行結果 ■
public class HelloWorld {
public static void main(String[] args) {
System.out.println("こんにちは");
}
}

特に化けなかったです・・・。
何がいったい原因なんでしょうねぇ。
わたなべ
大ベテラン
会議室デビュー日: 2007/12/09
投稿数: 123
お住まい・勤務地: 札幌
投稿日時: 2009-03-18 20:36
HelloWorld.classを削除してからコンパイルしなおして、実行し直してみたらどうでしょう?
satomi
会議室デビュー日: 2008/06/11
投稿数: 12
投稿日時: 2009-03-18 21:48
コード:

public class HelloWorld {
public static void main(String[] args) {
System.out.println("こんにちは");
System.getProperties().list(System.out);
}
}


として、システムプロパティを表示してみて、環境を確認してみてはどうでしょうか?

ちなみに、私の環境では以下になっていました。
(関係ありそうなプロパティのみ)

java.home=C:\Program Files\Java\jre1.6.0_07
sun.boot.library.path=C:\Program Files\Java\jre1.6.0_07\bin
java.runtime.version=1.6.0_07-b06
user.country=JP
user.language=ja
sun.jnu.encoding=MS932
file.encoding=MS932


[ メッセージ編集済み 編集者: satomi 編集日時 2009-03-18 21:49 ]
a-san
ベテラン
会議室デビュー日: 2004/06/01
投稿数: 53
投稿日時: 2009-03-18 22:04
ソースコードをUTF-8にし、sjisとしてコンパイルすると文字化けしました。
しかし、その場合、typeでみても化けてしまいます。少し現象が違います。
sjisとUTF-8との違いなのは確かですが、どこで間違えているのか・・・
コード:
C:\\home\\eclipse\\test>javac -encoding sjis HelloWorld.java

C:\\home\\eclipse\\test>java HelloWorld
縺薙s縺ォ縺。縺ッ

C:\\home\\eclipse\\test>type HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("縺薙s縺ォ縺。縺ッ");
}
}

C:\\home\\eclipse\\test>java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)


キキ
常連さん
会議室デビュー日: 2005/08/31
投稿数: 29
投稿日時: 2009-03-19 13:23
>HelloWorld.classを削除してからコンパイルしなおして、実行し直してみたらどうでしょう?
改善されませんでした。

>システムプロパティを表示してみて、環境を確認してみてはどうでしょうか?
システムプロパティの表示、初めてしてみました。
■ 表示内容 ■
 -- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=C:\Program Files\Java\jre1.6.0_07\bin
java.vm.version=10.0-b23
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=JP
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=Service Pack 1
java.vm.specification.name=Java Virtual Machine Specification
user.dir=C:\JavaTaiken
java.runtime.version=1.6.0_07-b06
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\jre1.6.0_07\lib...
os.arch=x86
java.io.tmpdir=C:\DOCUME~1\UserName\LOCALS~1\Temp\
line.separator=

java.vm.specification.vendor=Sun Microsystems Inc.
user.variant=
os.name=Windows XP
sun.jnu.encoding=MS932
java.library.path=C:\WINDOWS\system32;.;C:\WINDOWS\Sun\...
java.specification.name=Java Platform API Specification
java.class.version=50.0
sun.management.compiler=HotSpot Client Compiler
os.version=5.1
user.home=C:\Documents and Settings\UserName
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=MS932
java.specification.version=1.6
user.name=UserName
java.class.path=.;C:\Tomcat 4.1.27\common\lib\servlet...
java.vm.specification.version=1.0
sun.arch.data.model=32
java.home=C:\Program Files\Java\jre1.6.0_07
java.specification.vendor=Sun Microsystems Inc.
user.language=ja
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode, sharing
java.version=1.6.0_07
java.ext.dirs=C:\Program Files\Java\jre1.6.0_07\lib...
sun.boot.class.path=C:\Program Files\Java\jre1.6.0_07\lib...
java.vendor=Sun Microsystems Inc.
file.separator=\
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=


エンコード関係のでsjisになってないのは
9行目
file.encoding.pkg=sun.io
52行目
sun.io.unicode.encoding=UnicodeLittle
みたいですね。
25行目と34行目はsjisになっているのに、なぜ・・・。

[ メッセージ編集済み 編集者: キキ 編集日時 2009-03-19 13:35 ]
キキ
常連さん
会議室デビュー日: 2005/08/31
投稿数: 29
投稿日時: 2009-03-19 13:42
コンパネからいまインストールされているJavaのバージョンを確認して、古いの(1.4〜1.5)を消し、6のみにすると解消されました。
どこかで競合してたのでしょうか・・・。

たくさんの方にお手数をおかけしました。
ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)