试一试:String str = new String(yourstring.getBytes("8859_1"),"gb2312");

解决方案 »

  1.   

    to Ivan:
    要不要装什么字体库阿,好像还是不行???
      

  2.   

    //我用这个程序,不会出现乱码呀.
    import java.io.*; 
    public class ShowFile { 
       public ShowFile(){
       }
       public static void main(String args[]){ 
           String fileline = null;
           try {   BufferedReader in= new BufferedReader(new FileReader ("d:/java.txt"));
                   while ((fileline = in.readLine()) != null) { 
                        System.out.println(fileline);
                        //byte b[]=fileline.getBytes("ISO8859_1");
                        //System.out.println(new String(b,"GB2312"));
                     }
             }   
            catch (Exception e) {} 
      } 
    } //如果你是读取网络上的中文,你可以试试这个.import java.io.*; 
    import java.net.*; 
    import java.awt.*; public class showfile2 {     public showfile2(){
        }
        
        public static void main(String args[]){ 
            InputStream filecon = null; 
            DataInputStream filedata = null; 
            String fileline; 
            String url = "http://www.sohu.com/"; 
            URL fileur;         try { 
                    fileur = new URL(url); 
                    filecon = fileur.openStream(); 
                    filedata = new DataInputStream(filecon); 
                    while ((fileline = filedata.readLine()) != null) { 
                        byte b[]=fileline.getBytes("ISO8859_1");
                        System.out.println(new String(b,"GB2312"));
                    } 
    } catch (IOException e) { 
                  System.out.println("Error in I/O:"); 
            } } }