JDK-4229908 : Java interpreter can't get some character encoding as command line arguments.
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.2.2
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_2.6
  • CPU: sparc
  • Submitted: 1999-04-15
  • Updated: 1999-04-20
  • Resolved: 1999-04-20
Related Reports
Duplicate :  
Relates :  
Description
On Solaris 2.6 with ja_JP.PCK locale,
Java interpreter can't get Shift-JIS encoding characters correctly as command line arguments.

Please try these steps.
 1)Login Solaris 2.6 with ja_JP.PCK locale.
 2)Compile following program.
 3)Execute below in command line.
%java ArgsTest A 65
%java ArgsTest ����� 12354
%java ArgsTest ��l 20154
%java ArgsTest ���N 19985

Only "A" is got correctly.
Other characters(Shift-JIS) are changed.

====== ArgsTest.java =========================================================
public class ArgsTest {
    public static void main(String args[]) {
	if(args.length == 0){
	    System.out.println("no arg");
	    return;
	}
	char line[] = new char[args.length - 1];
	for(int i = 1; i < args.length; i++) {
	    try {
		line[i-1] = (char)Integer.parseInt(args[i]);
		System.out.println((int)line[i-1]);
	    } catch(NumberFormatException e) {
		System.out.println("NFE " + e);
		return;
	    }
	}
	String ns = new String(line);
	if(!ns.equals(args[0])) {
	    System.out.println("No good:" + args[0] + "!=" + ns);
	    return;
	}
	System.out.println("okay:" + args[0] + "=" + ns);
	return;
    }
}

=============================================================================

Comments
EVALUATION This is same reason as #4229914. .java_wrapper (ksh) also passed malformed Kanji argument to java program. [koushi.takahashi@japan 1999-04-19] Closing as duplicate based on above comment. anand.palaniswamy@Eng 1999-04-20 This bug was reported in 4011899. masayoshi.okutsu@Eng 1999-05-06
19-04-1999