解决方案 »

  1.   

    .java文件的编码呢?也是GBK吗?另外,可以尝试把读出来的String做下编码转换测试,看看到底是什么编码
    例如:下面代码假设读出来的source是GBK编码,尝试将其转换为UTF-8和GB2312编码,分别输出验证String source = readLine();
    String utfDest = new String(sources.getBytes("GBK"), "UTF-8");
    String gbDest = new String(sources.getBytes("GBK"), "GB2312");
    System.out.println("UTFDest is " + utfDest);
    System.out.println("GBDest is " + gbDest );
      

  2.   

    java是使用UTF-16编码的,你的txt是GBK,如果读取后不转码自然会出现乱码
    楼上的
    String source = readLine();
    String utfDest = new String(sources.getBytes("GBK"), "UTF-8");
    是一个方法
    也可以在用InputStream读取时指定编码为GBK
    不过最好是把txt的编码改为utf-8