本帖最后由 iceman1952 于 2009-09-07 15:06:49 编辑

解决方案 »

  1.   

    没有正确编码。把程序改成这样。        while (interfaces.hasMoreElements()) {
                NetworkInterface ni = (NetworkInterface) interfaces.nextElement();
                System.out.println(new String(ni.toString().getBytes("iso-8859-1")));
            }
      

  2.   

    还是不可以,我甚至把程序都改成了以下这样,还是不可以
    package examples.a06;import java.net.NetworkInterface;
    import java.util.Enumeration;public class InterfaceLister {
    public static final String[] ENCODEING = { "iso-8859-1", "gb2312",
    "gbk", "big5", "gb18030", "utf-8", "utf-16"}; public static void main(String[] args) throws Exception {
    Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
    while (interfaces.hasMoreElements()) {
    NetworkInterface ni = (NetworkInterface) interfaces.nextElement();
    String strDisplay = ni.toString();
    for (int i = 0; i < ENCODEING.length; i++) {
    byte[] bArray = strDisplay.getBytes(ENCODEING[i]);
    for (int k = 0; k < ENCODEING.length; k++) {
    String newStr = new String(bArray, ENCODEING[k]);
    System.out.println(ENCODEING[i] + "-->" + ENCODEING[k]);
    System.out.println(newStr);
    System.out
    .println("***************************************");
    }
    } }
    }
    }我的笔记本是 联想Y430
      

  3.   

    在java中可以用过滤器解决中文乱码(web程序)
      

  4.   

    package examples.a06;import java.net.NetworkInterface;
    import java.util.Enumeration;public class InterfaceLister {
        public static final String[] ENCODEING = { "iso-8859-1", "gb2312",
                "gbk", "big5", "gb18030", "utf-8", "utf-16"};    public static void main(String[] args) throws Exception {
            Enumeration interfaces = NetworkInterface.getNetworkInterfaces();
            while (interfaces.hasMoreElements()) {
                NetworkInterface ni = (NetworkInterface) interfaces.nextElement();
                String strDisplay = ni.toString();
                for (int i = 0; i < ENCODEING.length; i++) {
                    byte[] bArray = strDisplay.getBytes(ENCODEING[i]);
                    for (int k = 0; k < ENCODEING.length; k++) {
                        String newStr = new String(bArray, ENCODEING[k]);
                        System.out.println(ENCODEING[i] + "-->" + ENCODEING[k]);
                        System.out.println(newStr);
                        System.out
                                .println("***************************************");
                    }
                }        }
        }
    }以上中你只在InterfaceLister 类中进行了处理说不定你传进的参数就已是乱码
      

  5.   


    InterfaceLister 是JDK自带的类,我没有进行处理的
      

  6.   

    把IDE的 文本模式调整到 UTF-8
      

  7.   

    不是吧,这样的问题  在csdn上竟然就没人知道高人现身吧,否则就对csdn失望了
      

  8.   

    看看你的java源文件的编码和系统编码是不是一样
      

  9.   

    我的OS是Windows XP的,试了一下,也没有正确显示,值得思考一下。
      

  10.   

    都把分数到100了,还是没人可以回答
    这么难吗,难道CSDN现在就仅仅适合用来发广告了啊
      

  11.   

    算了, 东西太多了, 提供程序, 字符集列表在后面public class TestNet {
    static List<String> chars = new ArrayList<String>();
    static {
    try {
    FileReader fr = new FileReader("chars");
    BufferedReader br = new BufferedReader(fr);
    String line = null;
    while ((line = br.readLine()) != null) {
    chars.add(line);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    } public static void main(String[] args) throws Exception {
    FileWriter fw = new FileWriter("test");
    Enumeration<NetworkInterface> nis = NetworkInterface
    .getNetworkInterfaces();
    String n = null; while (nis.hasMoreElements()) {
    n = nis.nextElement().getDisplayName();
    }
    for (String c0 : chars) {
    for (String c1 : chars) {
    String result = ch(n, c0, c1);
    if (result != null && result.indexOf('?') < 0)
    fw.write(c0 + "->" + c1 + "=========>" + result + "\r\n");
    // System.out.println();
    }
    }
    fw.flush();
    fw.close();
    } static String ch(String src, String c0, String c1) throws Exception {
    String str = null;
    try {
    str = new String(src.getBytes(c0), c1);
    } catch (Exception e) {
    }
    return str;
    }
    }us-ascii
    us-ascii
    us-ascii
    us-ascii
    ISO-8859-1
    ISO-8859-2
    ISO-8859-3
    ISO-8859-4
    ISO-8859-5
    ISO-8859-6
    ISO-8859-6-I
    ISO-8859-6-E
    ISO-8859-7
    ISO-8859-8
    ISO-8859-8-I
    ISO-8859-8-E
    ISO-8859-9
    ISO-8859-10
    ISO-8859-11
    ISO-8859-13
    ISO-8859-14
    ISO-8859-15
    ISO-8859-16
    ISO-IR-111
    ISO-2022-CN
    ISO-2022-CN
    ISO-2022-KR
    ISO-2022-JP
    UTF-32BE
    UTF-32LE
    UTF-32
    UTF-16BE
    UTF-16LE
    UTF-16
    windows-1250
    windows-1251
    windows-1252
    windows-1253
    windows-1254
    windows-1255
    windows-1256
    windows-1257
    windows-1258
    IBM866
    IBM850
    IBM852
    IBM855
    IBM857
    IBM862
    IBM864
    IBM864i
    UTF-8
    UTF-7
    Shift_JIS
    Big5
    EUC-JP
    EUC-KR
    GB2312
    gb18030
    VISCII
    KOI8-R
    KOI8-U
    TIS-620
    T.61-8bit
    HZ-GB-2312
    Big5-HKSCS
    x-gbk
    x-euc-tw
    x-imap4-modified-utf7
    x-euc-tw
    x-mac-roman
    x-mac-ce
    x-mac-turkish
    x-mac-greek
    x-mac-icelandic
    x-mac-croatian
    x-mac-romanian
    x-mac-cyrillic
    x-mac-ukrainian
    x-mac-hebrew
    x-mac-arabic
    x-mac-farsi
    x-mac-devanagari
    x-mac-gujarati
    x-mac-gurmukhi
    GEOSTD8
    armscii-8
    x-viet-tcvn5712
    x-viet-vps
    x-viet-vni
    UTF-16BE
    UTF-16BE
    UTF-16LE
    UTF-32BE
    UTF-32BE
    UTF-32LE
    x-user-defined
    x-johab
    x-windows-949
    ISO-8859-1
    ISO-8859-1
    ISO-8859-1
    ISO-8859-2
    ISO-8859-3
    ISO-8859-4
    ISO-8859-5
    ISO-8859-6
    ISO-8859-7
    ISO-8859-8
    ISO-8859-9
    ISO-8859-10
    ISO-8859-11
    ISO-8859-13
    ISO-8859-14
    ISO-8859-15
    ISO-8859-1
    ISO-8859-1
    ISO-8859-1
    ISO-8859-1
    ISO-8859-1
    ISO-8859-2
    ISO-8859-2
    ISO-8859-2
    ISO-8859-2
    ISO-8859-2
    ISO-8859-3
    ISO-8859-3
    ISO-8859-3
    ISO-8859-3
    ISO-8859-3
    ISO-8859-4
    ISO-8859-4
    ISO-8859-4
    ISO-8859-4
    ISO-8859-4
    ISO-8859-5
    ISO-8859-5
    ISO-8859-5
    ISO-8859-5
    ISO-8859-6
    ISO-8859-6
    ISO-8859-6
    ISO-8859-6
    ISO-8859-6
    ISO-8859-6
    ISO-8859-6-I
    ISO-8859-6-E
    ISO-8859-7
    ISO-8859-7
    ISO-8859-7
    ISO-8859-7
    ISO-8859-7
    ISO-8859-7
    ISO-8859-7
    ISO-8859-7
    ISO-8859-8
    ISO-8859-8
    ISO-8859-8
    ISO-8859-8
    ISO-8859-8
    ISO-8859-8-I
    ISO-8859-8-I
    ISO-8859-8-E
    ISO-8859-9
    ISO-8859-9
    ISO-8859-9
    ISO-8859-9
    ISO-8859-9
    UTF-8
    UTF-8
    Shift_JIS
    Shift_JIS
    Shift_JIS
    Shift_JIS
    Shift_JIS
    EUC-JP
    EUC-JP
    ISO-2022-JP
    ISO-2022-JP
    ISO-2022-JP
    Big5
    Big5
    Big5
    EUC-KR
    EUC-KR
    EUC-KR
    EUC-KR
    EUC-KR
    EUC-KR
    EUC-KR
    EUC-KR
    x-windows-949
    GB2312
    GB2312
    GB2312
    GB2312
    GB2312
    GB2312
    GB2312
    windows-1250
    windows-1251
    windows-1252
    windows-1253
    windows-1254
    windows-1255
    windows-1256
    windows-1257
    windows-1258
    windows-874
    windows-874
    x-mac-roman
    x-mac-roman
    x-mac-roman
    IBM866
    IBM866
    IBM866
    IBM866
    IBM850
    IBM850
    IBM850
    IBM852
    IBM852
    IBM852
    IBM855
    IBM855
    IBM855
    IBM857
    IBM857
    IBM857
    IBM862
    IBM862
    IBM862
    IBM864
    IBM864
    IBM864
    IBM864
    IBM864i
    IBM864i
    IBM864i
    IBM864i
    T.61-8bit
    T.61-8bit
    T.61-8bit
    UTF-7
    UTF-7
    UTF-7
    UTF-7
    UTF-16BE
    UTF-16BE
    UTF-16BE
    UTF-16BE
    UTF-16BE
    UTF-16BE
    UTF-16BE
    UTF-16BE
    ISO-8859-10
    ISO-8859-10
    ISO-8859-10
    ISO-8859-10
    ISO-8859-15
    ISO-IR-111
    ISO-IR-111
    ISO-2022-KR
    VISCII
    VIQR
    x-euc-tw
    ISO-8859-1
    ISO-8859-2
    ISO-8859-3
    ISO-8859-4
    ISO-8859-5
    ISO-8859-6
    ISO-8859-7
    ISO-8859-8
    ISO-8859-9
    ISO-8859-10
    ISO-8859-11
    ISO-8859-12
    ISO-8859-13
    ISO-8859-14
    ISO-8859-15
    TIS-620
    windows-1250
    windows-1251
    windows-1252
    windows-1253
    windows-1254
    windows-1255
    windows-1256
    windows-1257
    windows-1258
    x-obsoleted-Shift_JIS
    x-obsoleted-ISO-2022-JP
    x-obsoleted-EUC-JP
    x-gbk
    windows-936
    windows-1251
      

  12.   

    把结果输出到文件呢
    有可能是Console的编码问题。。输出到文件试试
      

  13.   

    也有可能是环境不一样吧,
    OS:日文xp pro
    JVM:IBM J9 VM(1.5.0)
      

  14.   

    其实我很想问问LZ为什么一定要获取“-”后面的信息,“-”号前面的那段字符串就已经是网卡的详细信息了,直接用split("-")截出前面的一部分就好了嘛
      

  15.   

    你用反编译工具 把那个代码反编译看一下就知道它是怎么处理的了,
    或者抄写过来自己修改一下看是否能得到正确结果?
    不过如果别人的机器是正常的,
    我还是严重怀疑你的机器OS有问题,
    你可以使用虚拟机试验一下,
    或者另外找台机器试一下。
    xp 很神奇的,盗版的或者精简版的很容易出现这种问题。