2012-04-21 64 views
1

有人可以幫助字符串字符問題?任何想法如何從Java程序開發一個帶有kyrillic字符的瀏覽器?打開瀏覽器從java與kyrillic字符(utf16?)

在我的JAVA程序中,我有一個帶有kyrillic字符的字符串。這是一個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(); 
     } 
+2

你有沒有考慮[Desktop.browse(URI)(http://docs.oracle.com/javase/6/docs/api/java/awt/Desktop.html#browse(Java .net.URI))?理論上它應該處理所有棘手的問題。 – 2012-04-21 10:46:52

回答

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); 
+0

非常感謝。這是完美的工作!最好的祝福 – 2012-04-22 07:04:29