Mark Swanson wrote:
> Thanks for your comments Raman, response inline...
>
> Raman Gupta wrote:
>> Mark Swanson wrote:
>>> Raman Gupta wrote:
>>>> Mark Swanson wrote:
>>>>> At this stage, when I serialize the response Document, I set its
>>>>> responseDoc.documentProperties().setEncoding("UNICODEBIG"); I do this
>>>>> because this is what the client sent me. I can only assume clients
>>>>> will
>>>>> send me IANA character encodings, so I must respond in kind - a C#
>>>>> client would be confused if it saw a Java-specific character encoding
>>>>> name...
>>>>
>>>> According to
>>>>
>>>> http://www.iana.org/assignments/character-sets
>>>>
>>>> UNICODEBIG is NOT a valid IANA character set name. UnicodeBig DOES
>>>> seem to be a java alias for UTF-16BE -- so that explains why it works
>>>> on the incoming side.
>>>
>>> Interesting. I picked 'UNICODEBIG' from the source of Save.java - or
>>> was it EntryMapping.java - I'm off site atm and don't remember the
>>> filename exactly. The method was something like convertIANATojava()
>>> so I thought it actually contained valid IANA character encoding names.
>>>
>>> FYI UnicodeBig is NOT the Java alias for UTF-16BE, it's
>>> UnicodeBigUnmarked:
>>
>> I didn't say UnicodeBig was THE alias for UTF-16BE, I said it was AN
>> alias for UTF-16BE. The IANA page does not (always) list java aliases
>> for every character set.
>
> It's not an alias for UTF-16BE. I pasted the valid Java aliases for
> UTF-16BE and 'UnicodeBig' is not one of them.
Where are you getting your list from? On 1.5.0_07, at least on Linux,
UnicodeBig certainly does seem to be defined:
BeanShell 2.0-0.b1.7jpp - by Pat Niemeyer ([EMAIL PROTECTED])
bsh % print(System.getProperty("java.version"));
1.5.0_07
bsh % b = "TEST".getBytes("UnicodeBig");
bsh % print(b.length);
10
bsh % print(new String(b, "UnicodeBig"));
TEST
>>> charset:UTF-16BE
>>> alias:X-UTF-16BE
>>> alias:UnicodeBigUnmarked
>>> alias:UTF_16BE
>>> alias:ISO-10646-UCS-2
>>>
>>> XmlBeans _only_ defines UNICODEBIG to correspond to UTF-16BE. So it
>>> still seems impossible to support UTF-16BE (IANA ISO-10646-UCS-2).
>>
>> As I said above, UNICODEBIG is a java alias for UTF-16BE, so why
>> shouldn't XmlBeans define this mapping?
>
> It's not (see above).
>
>>> NOTE: I initially tried (and would prefer) to use ISO-10646-UCS-2 as
>>> this is identical in IANA and Java. It does not work. No IANA/Java
>>> translation is required and XmlBeans still gets it wrong.
>>
>> Why not just use UTF-16BE, which is the canonical IANA name for this
>> character set? Does XmlBeans still have the wrong behavior, for
>> either incoming or outgoing documents, if you specify UTF-16BE as the
>> charset? If so, then I agree we have a bug.
>
> Yes, I tried this and it didn't work.
Ok, then I agree, there is a problem. Was it the incoming or outgoing
or both that did not work? What was the failure mode?
>>> This is a bug.
>>
>> I'm not an XML beans developer, but I'm not sure I agree (unless, as I
>> said there is a problem with specifying UTF-16BE). Though certainly
>> there may be, and probably are, some mappings missing for certain IANA
>> aliases.
>
> Since 'UNICODEBIG' is not a Java or IANA character set name perhaps the
> bug is a simple type for the characterset name. I can try fixing this
> and testing it on Tuesday.
bsh % b = "TEST".getBytes("UNICODEBIG");
// Error: // Uncaught Exception: target exception : at Line: 2 : in
file: <unknown file> : .getBytes ( "UNICODEBIG" )
Interesting, so UNICODEBIG is not valid, but UnicodeBig is (as shown
above).
> FYI the Java charset/aliases I posted were for Java 1.5. For Java 1.4.1
> they are:
>
> charset:UTF-16BE
> alias:X-UTF-16BE
> alias:UTF_16BE
> alias:ISO-10646-UCS-2
>
> For Java 1.6 they are:
>
> charset:UTF-16BE
> alias:X-UTF-16BE
> alias:UTF_16BE
> alias:ISO-10646-UCS-2
> alias:UnicodeBigUnmarked
Can I ask where you are getting this list from?
Cheers,
Raman
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]