2016-07-19 107 views
5

我翻譯了一個詞從翻譯網站獲取HTML代碼。翻譯顯示奇怪的字符

的翻譯是正確的,同時運行與NetBeans的代碼,但同時

與jar文件運行時,我看到未知的語言......

任何幫助,請.....

從NetBeans中:

From netbeans

從jar文件:

enter image description here

代碼:

`/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package javaapplication5; 

import java.util.ArrayList; 
import java.util.Scanner; 

import javax.swing.JOptionPane; 

public class Main { 

    public static void main(String[] args) { 

     String URLString = "http://www.systranet.com/dictionary/english-arabic/play"; 

     ArrayList<String> wordList = new ArrayList<>(); 

     String FlangMarker = "<span class=\"dl_target_bullet\">&diams;</span><span class=\"dl_target_word\">"; 
     try { 
      java.net.URL url = new java.net.URL(URLString); 

      Scanner input = new Scanner(url.openStream()); 
      while (input.hasNext()) { 
       String line = input.nextLine(); 
       // System.out.println(line); 
       String word = ""; 

       if (line.contains(FlangMarker)) { 
        for (int i = FlangMarker.length(); line.charAt(i) != '<'; i++) { 
         word += line.charAt(i); 

        } 
        wordList.add(word); 
       } 
      } 

     } catch (java.net.MalformedURLException ex) { 
      System.out.println("Invalid World"); 
     } catch (java.io.IOException ex) { 
      System.out.println("I/O Errors: no such file"); 
     } 

     for (int i = 0; i < wordList.size(); i++) { 
      JOptionPane.showMessageDialog(null, wordList.get(i)); 
     } 

    } 
} 


` 

回答

2

通過改變解決...

Scanner input = new Scanner(url.openStream()); 

到...

Scanner input = new Scanner(url.openStream(), "UTF-8"); 

...爲了使用適當的編碼。