我有一個Windows C++程序,我想調用一個JVM並且能夠傳遞一個選項,可以從C++程序的命令行調用中給出一個選項(命令行選項可能不是純文本,例如「-Dblah =日本日本」)。 jni.h中的JavaVMOption結構似乎只將選項字符串定義爲字符,所以看起來我不能將它傳遞給一個寬字符串。可能將UTF-8/UTF-16選項傳遞給從C++調用的JVM?
我試圖將其轉換爲UTF-8並將其存儲爲C++端的窄字符串,然後在Java端將其轉換回來,但似乎將「日本」替換爲實際的「??」字符,並因此在轉換不轉換過程中丟失。
我在想這個不對嗎?這會不會預計會奏效?
您可能會發現這封郵件很有趣:http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-July/000058.html – kol
@kol:是的,非常有趣 - 謝謝。這將是一個非常受歡迎的改進。 – likso