-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Make exe fully Unicode #11214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @sergeevabc, Thank you for reaching out to us about this. Would you mind uploading a reproducer to a GitHub repository? That would allow me to test it on my end. Unfortunately, downloading JAR files directly is against our policy. |
A reproducer? You mean a minimal working example? But I am an ordinary user, not a developer, who can trim the specified app to the required state. @Hakky54, it's your toy and you have skills, could you post some helloworld-like short piece of code that does nothing but prints “Certificates exported to [PATH]” to show these Oracle guys with policies what happens with Unicode in native-image generated Windows binaries? |
So @sergeevabc discovered this issue when using certificate ripper. This tool can extract server certificates from the CLI. To reproduce the issue follow these steps:
Analyse the output.
but the actual output is:
It seems that GraalVM has trouble displaying the Cyrillic script.
With just Java it is showing the foldername correctly. With native compiled executable it is failing to show the correct foldername even when the default charset is set to UTF-8 |
Hi @Hakky54, Thank you for sharing the reproducer with me. Java(TM) SE Runtime Environment (build 24.0.1+9-30)
Java HotSpot(TM) 64-Bit Server VM (build 24.0.1+9-30, mixed mode, sharing)
java 24.0.1 2025-04-15
Java(TM) SE Runtime Environment Oracle GraalVM 24.0.1+9.1 (build 24.0.1+9-jvmci-b01)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 24.0.1+9.1 (build 24.0.1+9-jvmci-b01, mixed mode, sharing) While using windows 11 Pro My findings were different from those you shared.
And when using native image I get similar results except for
The fact that it didn't work on my end as you mentioned when using the jar file makes me doubt that this is a graalvm issue. |
Thank you @selhagani for testing this on your side. I was suprised from your test results and did also some investigation on my side and it seems that if I set However, there is another topic which the OP mentioned, not quite sure whether that can be fixed/resolved. He mentioned this:
So imagine I have built this app with chcp 65001 being actie in my terminal. The resulting binary can display the russion characters, without any issue. However someone has a different chcp being active, which is |
Uh oh!
There was an error while loading. Please reload this page.
Windows 7 SP1 x64, GraalVM 24, MSVC 14.36.17.6, SDK 26100.
Source: crip.jar
Great! Now let's compile that jar and see what happens.
The output is correct only when chcp 65001 is specified. What can be done to ensure that the output of the compiled exe is the same with any chcp, as is the case with Java? In other words, how can I force native-image to add support for all code pages to exe?
Related:
The text was updated successfully, but these errors were encountered: