Please first read Comments section here and in 6317399.
In java/lang/ProcessEnvironment.java (5.0u4):
// wrong line 148
	    return new Variable(str, str.getBytes());
// correction:
	    try
	    {
		return new Variable(str, str.getBytes("ISO-8859-1"));
	    }
	    catch (UnsupportedEncodingException ex)
	    {
		return null;
	    }
// wrong line 157
	    return new Variable(new String(bytes), bytes);
// correction:
	    try
	    {
		return new Variable(new String(bytes,"ISO-8859-1"), bytes);
	    }
	    catch (UnsupportedEncodingException ex)
	    {
		return null;
	    }
// wrong line 181
	    return new Value(str, str.getBytes());
// correction:
	    try
	    {
		return new Value(str, str.getBytes("ISO-8859-1"));
	    }
	    catch (UnsupportedEncodingException ex)
	    {
		return null;
	    }
// wrong line 190
	    return new Value(new String(bytes), bytes);
// correction:
	    try
	    {
		return new Value(new String(bytes,"ISO-8859-1"), bytes);
	    }
	    catch (UnsupportedEncodingException ex)
	    {
		return null;
	    }
In java/lang/ProcessImpl.java (5.0u4):
// wrong line 28
	byte[] bytes = s.getBytes();
// correction:
	byte[] bytes = null;
	try {
	    bytes = s.getBytes("ISO-8859-1");
	}
	catch (java.io.UnsupportedEncodingException ex)
	{}
// wrong line 51
	    args[i] = cmdarray[i+1].getBytes();
// correction:
	    try {
		args[i] = cmdarray[i+1].getBytes("ISO-8859-1");
	    }
	    catch (java.io.UnsupportedEncodingException ex)
	    {}