2012-03-23 111 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")); 
    } 
相关问题