0
我想要做的是讀取Windows環境變量%APPDATA%。我有一些Umlauts的嚴重問題,例如如果APDATA設置爲"ÄÄÄ"
我會得到像"'''"
。閱讀Windows環境變量(編碼/字符集問題)
這裏是我的代碼:
final Process p = Runtime.getRuntime().exec("cmd.exe /C echo %APPDATA%");
final BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String buffer;
if((buffer = br.readLine()) != null) {
return buffer;
}
如果我打印出
String encoding_system = System.getProperty("file.encoding");
我越來越Cp1252
。我試圖告訴InputStreamReader系統編碼,但沒有任何變化。
謝謝你的回答,你是對的,但我忘了發佈,在這個項目中,我仍然使用Java 1.4 :( – jeven
@ user734535嗯,我會......它真的只在1.5引入。不知道是怎麼回事編碼控制檯輸出往往是我的經驗有問題 –
我臨時使用Java 1.6。與System.getEnv(「APPDATA」),但我結束了相同的編碼問題。試圖轉換String.getBytes()遍歷所有字符集,但沒有一個提供正確的字符串 –
jeven