2012-03-23 112 views
1

我有一些俄羅斯名字的俄羅斯Windows 7。如果我通過AudioSystem.getMixerInfo()獲得像調音臺這樣的設備,我有Mixer.Info.getName()解碼爲unicode錯誤。是否可以控制Mixer.Info字符集?

是否可以控制轉換或這是Java設計錯誤?

UPDATE

其實從Java CP1252解碼爲Unicode,而我的默認語言環境是CP1251。如何說它使用CP1251?

回答

1

我有同樣的問題(俄語Windows 7)。我認爲,在俄羅斯獲得設備名稱的唯一方法是將其轉換爲正確的字符集:下面

for (Mixer.Info info : AudioSystem.getMixerInfo()) { 
     System.out.println(new String(info.getName().getBytes("Windows-1252"), "Windows-1251")); 
    } 
相關問題