你用unicode就可以,因为ascii码表示范围有限

解决方案 »

  1.   

    java中就存在此编码转换问题,要想一劳永逸,还是好好看看这方面的文章,这是一个在java中很普遍的问题
      

  2.   

    因为中文使用的编码和JAVA使用的编码不一致
      

  3.   

    那到底怎么作呢
    import java.util.*;
    public class HelloWorld
    {
       
         public static void main(String []args)
       {
              String str="中文";
              try {
            str = new String(str.getBytes("iso-8859-1"),"gb2312") ;
             }
             catch (Exception ex) {
             }
        System.out.println(str);
       }
    }这样写还是不行
      

  4.   

    奇怪,你用的是什么版本的jdk?
      

  5.   

    不是  public static void main(String []args)
    应该是public static void main(String[] args)
      

  6.   

    改一下charset,要不用UTF-8,要不用GB
      

  7.   

    import java.util.*;
    public class HelloWorld
    {
       
         public static void main(String []args)
         {
             String str="中文";
             try {
             str = new String(str.getBytes("gb2312"),"GBK") ;
             }
             catch (Exception ex) {
             }
         System.out.println(str);
         }
    }
    这样就可以了
      

  8.   

    TO楼上所有人
    String str="中文";
    之类硬编码文字的java编译期自动转换为unicode-16
    所以never写
    String str="中文";
             try {
             str = new String(str.getBytes("gb2312"),"GBK") ;
             }
    }
      

  9.   

    怪,我还是用的win2000 pro
    怎么没出现呢??
      

  10.   

    我在另外一台机器上,直接System.out.println("中文"),也可以输出中文,就是我这台机器不行,不知道是怎么回事
      

  11.   

    我知道了,原来是我的jdk的版本太低,只有3.1,我后来升级到4.2就ok了
      

  12.   

    你用的是什么编译器?
    你的系统的local是中文吗?
      

  13.   

    我的可以啊,你用什么jdk?什么工具啊?有的工具不支持中文显示,所以有问题!