有人可以帮助解决字符串问题吗?有关如何使用java程序中的kyrillic charaters打开浏览器的任何想法吗?
在我的JAVA程序中,我有一个带有抒情字符的字符串。这是一个URL,我喜欢使用它来打开带有'ProcessBuilder'的浏览器。浏览器打开但在网址中没有出现抒情字符。只有???????????。
如何从java程序中使用kyrillic charaters打开浏览器?
问候
String url = "https://www.google.ch/search?q=" + sKyrillic + "&hl=de&client=firefox-a&hs=hzU&rl......";
try {
new ProcessBuilder("rundll32", "url.dll,FileProtocolHandler", url).start();
} catch (IOException ex) {
ex.printStackTrace();
}
答案 0 :(得分:2)
使用URLEncoder
将值编码为application/x-www-form-urlencoded
。例如:
String cyrillic_letter_i = "\u0418";
String encoded = URLEncoder.encode(cyrillic_letter_i, "UTF-8");
String google = "https://www.google.ch/search?q="
+ encoded
+ "&hl=de&client=firefox-a&hs=hzU&rl......";
URI uri = URI.create(google);
Desktop.getDesktop().browse(uri);