从国外拿到的一款java swing desktop软件的源码,想汉化为中文软件,但直接在.java中将字符串改为汉字,编译后,运行时却发现窗口上所有字符都变成了方框试过使用
1、new String(str.getBytes[], "编码方式")
2、"\uxxxx\uxxxx"的方式(直接写汉字的unicode编码)
3、修改jbuilder的编码方式为GBK、GBK18030但都不行,实在没招了,求教各位达人,解决问题一定分5次给足500分。操作系统是 windows xp sp2,查找本地编码方式好象是GB18030,编译环境用的JBuilderX

解决方案 »

  1.   

    new String(str.getBytes("iso8859_1"), "GBK")
      

  2.   

    从eclipse看看文件属性,是什么编码方式,改成“GBK”
      

  3.   

    将System.getProperties()得到的值全打出来,
    看看file.encoding和sun.jnu.encoding这两项的值是不是操作系统的值,不是用System.setProperty改了它
      

  4.   

    将System.getProperties()得到的值打出来看看情况 ,不过在新版本jdk中System.setProperty 不一定都好使
      

  5.   

    如果是资源文件的话,就native2ascii一下,如果是在程序中的直接改,再把程序里类似的都改成new String(str.getBytes["gbk"], "gbk");
      

  6.   

    楼上兄台,最开始是没有工程的,我就是在JBx下新建了工程后再把代码拷过来这样弄的如果我完全新建一个工程来使用swing的话,显示中文是没有问题的,这样是不是说明至少我的环境是好的?
      

  7.   

    方框的问题很简单,设置字体即可!!!看来我是拿定500分了:)??是乱码需要转码?方框就是设置字体!看我的blog原先关于Hibernate Console的处理方式就知道了。
      

  8.   

    帮你把我原来在CJSDN发的贴子找出来了:)http://www.cjsdn.net/post/view?bid=30&id=138290&tpg=1&ppg=1&sty=1&age=0#138290凡是方框的都是字体没设成中文字体,凡是问号的都是转码不对。终于找到最终解决问题的方法了。如下进行修改:
    1、net.sf.hibernate.console.Start里增加函数:
    public static void setUIFont(javax.swing.plaf.FontUIResource f)
    {
    java.util.Enumeration keys = UIManager.getDefaults().keys();
    while(keys.hasMoreElements())
    {
    Object key = keys.nextElement();
    Object value = UIManager.get(key);
    if(value instanceof javax.swing.plaf.FontUIResource)
    {
    UIManager.put(key,f);
    }
    }
    }2、在main函数中调用
    setUIFont(new javax.swing.plaf.FontUIResource("宋体",Font.PLAIN,12));3、编译,重新打包,运行,Good Luck 
      

  9.   

    我的Blog里的说明在:http://iamin.blogdriver.com/iamin/626060.html
      

  10.   

    to yonghar(http://www.xio.name):如何才能确定源代码文件的编码方式呢?通过二进制工具打开文件看吗?
      

  11.   

    to YuLimin(阿敏总司令:简单就是美)按照你给的代码试了,还是方框喔,有顺序上的要求吗。(我重新编译过的)唯一的区别是
    setUIFont(new javax.swing.plaf.FontUIResource("宋体",Font.PLAIN,12));这句中Font编过不去,我改为了
    setUIFont(new javax.swing.plaf.FontUIResource("宋体",java.awt.Font.PLAIN,12));
      

  12.   

    http://iamin.blogdriver.com/iamin/626060.html这个文章看了没有?顺序也是要的。
      

  13.   

    类似问题,请大家帮忙一起解决。http://community.csdn.net/Expert/TopicView3.asp?id=4813786
      

  14.   

    不好意思,平时事太多,上网少问题还是没有解决,但综合各方面的反馈来看,应该是没有设成中文字体的原因现在的问题就是如何设置字符串为中文字体?YuLimin(阿敏总司令:简单就是美)给了个方法,之前试了下没成功,我再试试
      

  15.   

    to YuLimin(阿敏总司令:简单就是美)你指的顺序应该怎么来弄,我尝试把setUIFont放在main函数的开始和结束两处都不行
      

  16.   

    楼主是用什么方式编译的Java文件?  javac 还是 javaw