LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4450|回复: 20

Linux下Java中文显示解决方案

[复制链接]
发表于 2004-1-14 10:51:28 | 显示全部楼层 |阅读模式

  1. 很遗憾,我用上面的方法没有试验成功,不过经过反复摸索,终于成功了,现写出来共享
  2.        Linux 下使用 Java 开发应用程序时中文显示一直是大家头疼的问题. 不论是在开发环境还是最终的运行程序,中文都显示为一串方块。都是由于JDK字体设置不正确导致的。
  3.        JDK 自带的配置文件中,它所指定的中文字体其实是不存在的,所以造成了显示不正确。这里,我就以成功配置RedHat Linux9下的BuilderX(JDK 1.4.2) 为例,告诉大家Linux下Java 中文环境的设置方法。其它 Linux 系统或 JDK 版本可参照本文作类似配置,相信能够成功。

  4.     1. 检查 /usr/share/fonts/ttf/gb 目录下是否有中文字体 gbsn00lp.ttf ,如果没有,也可以用 Windows 字体目录下的 simsun.ttf 代替(当然得从个Window系统中复制)。
  5.     2. 将刚才的字体文件拷贝到 JDK(JbuilderX在/opt/JBuilderX/jdk1.4下)的jre/lib/fonts 目录中。
  6.     3. 打开JDK下的jre/lib/fonts/fonts.dir 文件,将第一行的 72(表示字体个数) 改为73,并在最后一行添加如下一行:
  7. gbsn00lp.ttf -Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
  8. (注意,GB前有空格.如果你用的是 simsun.ttf ,则应该将头部的 gbsn00lp.ttf 改为 simsun.ttf )
  9.     4. 将JDK下的jre/lib中的字体配置文件 font.properties.zh.Turbo 复制为 font.properties.zh 。
  10.     5. 打开并修改 font.properties.zh 。将文件中所有的:
  11.     -tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0   替换为:
  12.     -Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
  13.    6. 执行测试
  14.       现在,你可以编写一个包含中文的小小程序,只要看到中文结果,就说明成功了!
  15.    呵呵,好运!!!
  16.   当然,遗憾的是,JBuilderX的中文显示我仍然没有解决呢
  17.   
复制代码
 楼主| 发表于 2004-1-14 11:03:12 | 显示全部楼层
遗憾,JbuilderX下的控制台输出仍然是方块,倒....
发表于 2004-1-14 13:08:53 | 显示全部楼层
你的这个方法我已经尝试过
安装netbean3.5.1出来的是方块字,如此。。。
发表于 2004-1-14 13:09:44 | 显示全部楼层
tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0
难道没有人想过找到这个所对应的字体么?我真的不明白。
 楼主| 发表于 2004-1-14 13:17:05 | 显示全部楼层
Jbuilder中文显示好多了,GUI设计环境是中文,控制台输出是中文
设置的方法是:
1.启动JBuilder
2.选择tools/reference...
3.选择Editor下的display
4.在右边的font family中选择monospaced(等宽)字体
5.OK
但代码中仍然显示Unicode码\u8080等样式,正在调试中...
发表于 2004-1-14 21:11:54 | 显示全部楼层
最简单的方法,就是找到j2re或者j2se的1.4.1版本的,然后把里面那个font.properties.zh_CN.turbo改名为font.properties.zh_CN,再替换里面的为simsun,呵呵,那就非常好看了。
发表于 2004-1-15 01:05:48 | 显示全部楼层
我的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-1-15 10:47:10 | 显示全部楼层
把你的那个文件传上来,或者贴出内容嘛,发个图就完了?
发表于 2004-1-16 04:20:20 | 显示全部楼层
一天没来了,呵呵, 我的font.properties

# @(#)font.properties.linux        1.7 02/03/07
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
#

# Component Font Mappings
#
serif.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
serif.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

serif.italic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
serif.italic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
serif.bold.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
serif.bold.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

serif.bolditalic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
serif.bolditalic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

sansserif.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
sansserif.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

sansserif.italic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
sansserif.italic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
sansserif.bold.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
sansserif.bold.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
sansserif.bolditalic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
sansserif.bolditalic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
monospaced.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
monospaced.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

monospaced.italic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
monospaced.italic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
monospaced.bold.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
monospaced.bold.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
monospaced.bolditalic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
monospaced.bolditalic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

dialog.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
dialog.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
dialog.italic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
dialog.italic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
dialog.bold.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
dialog.bold.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
dialog.bolditalic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
dialog.bolditalic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
dialoginput.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
dialoginput.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

dialoginput.italic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
dialoginput.italic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
dialoginput.bold.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
dialoginput.bold.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
dialoginput.bolditalic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
dialoginput.bolditalic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
# Missing Glyph Character
#
default.char=274f

# Component Font Character Encodings
#
fontcharset.serif.0=sun.io.CharToByteISO8859_1
fontcharset.serif.1=sun.awt.CharToByteSymbol

fontcharset.sansserif.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.1=sun.awt.CharToByteSymbol

fontcharset.monospaced.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.1=sun.awt.CharToByteSymbol

fontcharset.dialog.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.1=sun.awt.CharToByteSymbol

fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.1=sun.awt.CharToByteSymbol

# Exclusion Ranges
#

# XFontSet Information
#
fontset.serif.plain=\
-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1

fontset.serif.italic=\
-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1

fontset.serif.bold=\
-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1

fontset.serif.bolditalic=\
-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1

fontset.sansserif.italic=\
-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1

fontset.sansserif.bold=\
-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1

fontset.sansserif.bolditalic=\
-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1

fontset.sansserif.plain=\
-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1

fontset.monospaced.italic=\
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1

fontset.monospaced.bold=\
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1

fontset.monospaced.bolditalic=\
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1

fontset.monospaced.plain=\
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1

fontset.dialog.italic=\
-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1

fontset.dialog.bold=\
-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1

fontset.dialog.bolditalic=\
-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1

fontset.dialog.plain=\
-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1

fontset.dialoginput.italic=\
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1

fontset.dialoginput.bold=\
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1

fontset.dialoginput.bolditalic=\
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1

fontset.dialoginput.plain=\
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1

fontset.default=\
-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1

中文采用simsun,英文采用tahoma,另外,光修改font.properties文件是不行的,还要在/etc/profile文件中加入字体目录
发表于 2004-1-25 17:22:06 | 显示全部楼层
谢谢楼主,
按照楼主的方法
可以显示中文了
字体软链接就可以使用.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表