1

A user reported the following error trying to start an application via WebStart on Windows 7:

Could not load file/URL specified: C:\Users\Höfn\AppData...

The Windows locale is Iceland and the 'Language for non-Unicode programs' setting is Icelandic. Note the Windows username is supposed to be "Höfn", but the "ö" character looks corrupted in the error message so it seems the path can not contain unicode characters.

The application worked fine prior to the latest Java update.

I tried deleting the Java cache but the problem persisted.

I solved the problem (temporarily) by uninstalling the latest Java update and installing JRE 7 update 60.

I figured more people would run into this problem and require a temporary solution.

2
  • 1
    Is this on Windows XP? Have you noticed that Oracle have dropped support for Windows XP as of Java 7u65? Commented Jul 17, 2014 at 11:34
  • Sorry I forgot to mention it was Windows 7, edited to include... and no I had not noticed that, interesting. Commented Jul 17, 2014 at 11:36

1 Answer 1

4

This problem starts with Java 7u65 as it is present on all later Java versions including 7u67 and 8u11. I submitted bug report.

While we wait for Oracle to fix this, here are three things we can do:

Workaround one: (only works for Java < 7u65)

  1. Go to Control Panel -> Regional and Language Options -> Administrative (Advanced) -> Language for non-Unicode programs
  2. Set "Current language for non-Unicode programs" to any language that uses Unicode letters.

Workaround two: (works for all - Change Java temporary path of user)

  1. Create new directory for example C:\TempJava\ASCII_USERNAME (without Unicode letters inside path name)
  2. As changing Java temp path inside Windows7 is disabled in Java Control Panel, there is workaround:
    • Open file %SYSTEMDRIVE%\Users\%USERNAME%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties
    • Add line: deployment.user.cachedir=C:\TempJava\ASCII_USERNAME
    • Save and try to run JNLP again

Workaround three: (works for all)

  1. Create user with account name in ascii text (without multi-byte letters)
  2. Start JNLP from that account
Sign up to request clarification or add additional context in comments.

3 Comments

I had a chance to test this on a Windows 7 machine and the 'Language for non-unicode programs' was Icelandic, which is correct.
@darri You can create user account on Windows machine with character set ISO8859-5 (Cyrillic alphabet). If you login into that account and use ISO8859-1 (Western Europe) as Systems locale, you won't be able to run applications that need System Locale in order to encode correctly user home path (for example). You must check if account name characters are written in Language inside Language for non-unicode programs.
I really appreciate your input, I'll take a better look at this in the next few days. It's rather tempting to call this a bug in Java, simply due to the fact that this wasn't a problem until 7u65.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.