首先,需要确认,系统本身显示中文是没问题的,比如,在Windows新建一个txt文件,里面写入中文,在Ubuntu中庸vim打开,确实没有乱码正常显示。
我在Ubuntu14中装了个Eclipse,结果打开后源代码中的汉字全是小方框,装了个国产数据库,安装界面也全是小方框,网上一查,包括NetBeans之类的所有Java GUI程序,可能都会存在着问题,找了很多贴子,大多都是在jre/lib/fonts目录下新建fallback目录,然后重新声场描述文件,我也不知道什么原理,但试过了都不行,最后在一个帖子中找到了答案,贴子还是用Google搜索出来的,国内的搜了好几遍,没发现这个贴子。
先贴上原文链接:http://yanue.net/post-116.html
大致意思就是Linux版本的JRE中没有中文字体库,所以显示成小方框,网上贴子中新建fallback目录其实就是新建个后背目录,当找不到要用的字体时,去这个目录下找,所以会存在诸如效率底下等弊端。
正确的解决办法有两种
第一种,修改配置文件,让配置文件中设置的字体库指向系统中存在的字体
- 在Java目录下面的jre/lib下面找到fontconfig.Ubuntu.properties这个配置文件(此文件就jre针对Ubuntu系统的字体库配置文件,其他帖子里说的fontconfig.properties配置文件,在我的这个jre中根本找不到,另外,修改fontconfig.properties.src文件也没用,根本不起作用,别试了)
- 将字体的路劲改为系统中已存在的字体,具体自己系统中有哪些字体,可以到/usr/share/fonts目录下查看
- 保存配置文件,重启程序。
第二种,安装字体
- 在网上下载unming.ttc字体(我下载的链接:https://www.fontke.com/font/10222468/download/)
- 在/usr/share/fonts/truetype目录下新建arphic文件夹
- 上传uming.ttc字体到arphic目录下
- 重启程序
通过以上两种办法,彻底解决中文显示方框的问题。