我相信你正在閱讀文字是這樣的:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
String token = reader.readLine();
System.out.println(token);
} catch (IOException e) {
e.printStackTrace();
}
在這種情況下,字符編碼是完全一樣的當前系統的代碼頁(至少在Windows中)。問題是,Eclipse將允許您將阿拉伯文字母粘貼到其控制檯窗口,但在此過程中將丟失信息。我不確定是否將系統代碼頁(在OS區域選項中)設置爲windows-1256會有所幫助,但它可以。我試圖通過Charset.forName("windows-1256")
作爲InputStreamReader的第二個參數,然後用阿拉伯鍵盤輸入東西,但它不是工作。好吧,但我們畢竟不是那麼無助。因爲這是爲測試(?右),你可以按照以下兩種方法之一來解決這個問題:
- 使用一些基本的Swing UI(JFrame中+的JTextField + JLabel的,也許一些按鈕)
- 提供轉義機制並輸入字符作爲代碼點(即\ u0629)
最好的修復方法是修復Eclipse(這是壞了),例如實現控制檯(System.console()),但我不太確定如果他們會接受這樣的補丁。
我嘗試,但以這種方式,我得到的字節代碼字我不能使用它 – Dilllllo 2011-06-05 19:56:57