请高手指点,Eclipse中java写的GUI程序,运行后有的中文显示成“口口”,有的显示正常

解决方案 »

  1.   

    中文是双字节编码需要先转换成Unicode。
    如果你的程序里中文是放在语言资源文件里的可以使用jdk自带的工具native2ascii.exe转换,如果是硬编码在程序里的,那么请看我的博客文章,我提供了一个类用来做转换。使用 Java 将中文字符转换成 Unicode 编码 
    http://blog.csdn.net/chenweionline/archive/2007/05/17/1612935.aspx
      

  2.   

    检查一下gui设置的字体是什么字体,
    该字体你电脑不支持会这样显示。如果是编码问题通常显示的是??之类的乱码
      

  3.   

    电脑应该是支持gui设置的字体的,因为在Eclipse中写了测试程序,界面中的中文都显示正常的,但我从CVS中Import一个Project(在其他的电脑上运行都是正常显示)运行后,界面中有的中文显示不了,比如说标签中文显示都是正常的,而JTable中的中文和下拉菜单中的中文就显示成“口口”,请高手指教……先谢了
      

  4.   

    jdk某个目录下需要增加字体映射
      

  5.   

    强制设置字体就好了,
    如: button.setFont(new java.awt.Font("宋体",Font.PLAIN, 12));
      

  6.   

    电脑应该是支持gui设置的字体的,因为在Eclipse中写了测试程序,界面中的中文都显示正常的,但我从CVS中Import一个Project(在其他的电脑上运行都是正常显示)运行后,界面中有的中文显示不了,比如说标签中文显示都是正常的,而JTable中的中文和下拉菜单中的中文就显示成“口口”,请高手指教……先谢了
    如果你jtable中设置的字体你电脑不支持,那么就不能显示
    标签能正常显示,表示标签设置的字体和你jtable的是不一样的
      

  7.   

    选中你的工程 project->properties->resource->text file encoding->other->UTF-8
      

  8.   

    如果是jdk1.4版的swt不会出现这种问题,swing 会出现这种问题,
    如果是jdk5.0版的swt会出现这种问题,swing不会出现这种问题。
    o(∩_∩)o...哈哈
      

  9.   

    还是我来解答吧,
        /**
         * 设置所有Swing组件的预设字体。
         * <pre>
         * 用法:
         * setUIFont (new javax.swing.plaf.FontUIResource("Serif",Font.ITALIC,12));
         * <pre>
         * @param f
         */
        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);
            }
        }
    将以上方法加到你的代码中。启动时在main ()中调用.
      

  10.   

    调用方式如下:
    setUIFont(new Font("宋体",Font.PLAIN,12));
      

  11.   

    那在LINUX下面用AWT/Swing写的GUI中中文都是小方块,怎么回事?
    而用SWT的就正常显示了.
      

  12.   

    只要是小方块的一般都是字体设置问题。
    你看你显示中文的jlable是用什么字体,
    建议用dialog字体,可正常显示
      

  13.   

    1: 编码错误是 “??”,字体错误是 “口口”,这点没错。
    你那种情况可能是出在字体上!
    2: 在java中,所有字符都是用utf编码的,即使是繁体字;
    要找到错误,你可以将那些出现“口口”的地方,加些字母或简单的简体字,如果字母或简体字能显示,那么那些出问题的字符一定是繁体字,你就要将其用“细明体”显示,如果都不能显示,那么,一定是上帝出了问题。