Java 8 RFR 8011194: Apps launched via double-clicked .jars have file.encoding value of US-ASCII on Mac OS X

David Holmes david.holmes at oracle.com
Tue Jul 30 03:10:37 UTC 2013


On 30/07/2013 5:54 AM, Brent Christian wrote:
> On 7/28/13 10:13 PM, David Holmes wrote:
>> On 27/07/2013 3:53 AM, Brent Christian wrote:
>>> Please review my fix for 8011194 : "Apps launched via double-clicked
>>> .jars have file.encoding value of US-ASCII on Mac OS X"
>>>
>>> http://bugs.sun.com/view_bug.do?bug_id=8011194
>>>
>>> In most cases of launching a Java app on Mac (from the cmdline, or from
>>> a native .app bundle), reading and displaying UTF-8 characters beyond
>>> the standard ASCII range works fine.
>>>
>>> A notable exception is the launching of an app by double-clicking a .jar
>>> file.  In this case, file.encoding defaults to US-ASCII, and characters
>>> outside of the ASCII range show up as garbage.
>>
>> Why does this occur? What sets the encoding to US-ASCII?
>
> "US-ASCII" is the answer we get from nl_langinfo(CODESET) because no
> values for LANG/LC* are set in the environment when double-clicking a .jar.
>
> We get "UTF-8" when launching from the command line because the default
> Terminal.app setup on Mac will setup LANG for you (to "en_US.UTF-8" in
> the US).

Sounds like a user environment error to me. This isn't my area but I'm 
not convinced we should be second guessing what we think the encoding 
should be. What if someone intends for it to be US-ASCII?

David
-----

> -Brent



More information about the core-libs-dev mailing list