使用 java.util.prefs.Preferences 读取windows的注册表,英文正常,中文都是?????
请问如何解决?
谢谢!

解决方案 »

  1.   

    不是很懂,抛块儿砖,顶一下。编码的问题吧,转换一下字符串的编码看看,UTF-8,GBK常用的那几种试下。
      

  2.   

    转换一下字符串的编码就可以了.
    String normalstring = "中国";
    String encodestring   =   new String(normalstring.getBytes()); 
    getBytes方法有以下几种.仅供参考.
    getBytes() 使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
    getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)  已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 构造方法,该方法使用平台的默认字符集。
    getBytes(String charsetName) 使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。