ubuntu下eclipse编译的java项目乱码问题的解决

2010年3月24日 | 分类: Linux应用, 程序设计 | 标签: , , , , , ,

最近使用linux系统(ubuntu)开发,由于公司的java项目都是使用的GBK编码,发现,我打的war包发布后,中文很多是乱码,在编辑器已经选择为GBK,并且能正常打开,查看代码中的汉字。

经过n此google后,终于找到了问题的所在,原来java程序在javac编译为class时,要对汉字进行16进制的转换,而转换的字符集是按照系统当前进行转换的,所以,虽然在eclipse是使用gbk打开的,但是在编译时,则使用的utf-8,从而导致中文乱码,在javac编译是,设置参数 -encoding GBK 即可,在builde文件中,可以在javac里面增加 <compilerarg line=”-encoding GBK”/> 则可以解决。

同时,在google过程中,发现一个java程序使用字体的问题,同事最仅在作的项目是一个java应用程序,使用的swing,其程序在我的ubuntu下运行,中文部分为口,无法显示,在google过程中,有人讲解说,java实现了自己的一套中文字体加载使用体系,在jdk的jre/lib下有fonts目录,里面有java使用的字体,同时还有fontconfig等配置文件,从而实现,java程序的汉字显示,所以在跨jdk,执行java程序时,则有可能出现中文无法显示,具体的处理方法,暂未找到。

anyShare分享到:
          
  1. 2010年9月25日17:24

    有个怪异的现象:在ubuntu下使用eclipse,在build的时候,执行到javac就停着不动,不知道为啥,添加 后,就没问题了,项目已经设为utf-8了,,应该是javac没有继承项目编码,而使用了默认编码,而对于不同编码的java源码,无从编译导致的。。
    机器在分析语法时,不知所谓了。