Linux下Java程序中中文显示的一些问题的总结

原创 2004年08月12日 17:01:00

此处一般指应用程序,不是WEB App.(或者是web app中生成的统计图形等)

通用处理原则: 1.存在中文字体 2.jre能找到中文字体 3. font.properties.xx.xx 和你的系统正确对应

我以Red Hat Enterprise Linux AS release 3 (Taroon Update 2) , LANG=zh_CN.GB18030, jdk 1.4.2_02  为例,说一下过程

(自己要按照自己的情况变化,不要照搬,例如我按照下面摘抄的就不行)

1.发现存在中文字体 /usr/share/fonts/zh_CN/TrueType

2.jre的lib目录下有 font.properties.zh_CN.Redhat8.0 ,但是我的redhat不是8.0 ,改成Redhat应该通用,于是复制一份到 font.properties.zh_CN.Redhat ,看看内容,发现里面已经设置了中文字体,最后一行也指明了中文字体的路径,于是 不用修改任何东西了

3.重新启动程序/或者webserver ,ok 显示成功了

 

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

下面的内容从各处摘抄而来.

1. Mandrake Linux 8.2 、JDK 1.4.1  ( 【作者:家居猫】 )

===============================================

   很多朋友在 Linux 下使用 Java 开发应用程序时发现中文显示不正常,在窗口应用中的中文显示为一串方块。这主要是由于字体设置不正确。JDK 自带的配置文件中,它所指定的中文字体不存在而造成了显示不正确。本文以 Mandrake Linux 8.2 、JDK 1.4.1 为例,简单的介绍了在 Linux 下 Java 中文环境的设置方法。其它 Linux 系统或 JDK 版本可参照本文作相应调整。

    首先,检查你的 /usr/share/fonts/ttf/gb 目录下是否装有中文字体 gbsn00lp.ttf 。如果没有,也可以用 Windows 字体目录下的 song.ttf 来代替。将字体文件拷贝到 Java 安装目录下的 jre/lib/fonts 下。

    第二,修改 Java 安装目录下的 jre/lib/fonts/fonts.dir 文件,将首行的 72 改为 73,然后添加下列内容:

        gbsn00lp.ttf -Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0

        注意:如果你用的是 song.ttf ,则应该将头部的 gbsn00lp.ttf 改为 song.ttf 。

    第三,在 Java 安装目录下的 jre/lib 目录中,将字体配置文件 font.properties.zh.Turbo 复制为 font.properties.zh 。然后修改 font.properties.zh 。将文件中所有的:

        -tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0 替换为:
        -Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0

    第四,用 JDK 自带的演示程序 SwingSet2 测试,如果看到中文菜单则说明设置成功。

===============================================

2. Java , Installanywhere 在 Redhat 上的中文问题解决方法     jacklondon [原作]

标准 jre/jdk 中只带了 redhat 6 的 font.properties, 我在 redhat 7.3 和 redhat 8.0 上都不能用。我们需要建一个 font.properties.zh.Redhat 放在 redhat 的 jre/lib 目录下。打开 /usr/lib/X11/fonts/ttf-zh 或者 /usr/share/fonts/zh_CN/TrueType 下面的 font.dir, 将其中的一个中文字体名复制下来,比如 -misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-iso10646-1,按照 java 的字体规则改为 -misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1,将 font.properties.zh 中的内容复制到 font.properties.zh.Redhat 中。

我选用字体 -misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-iso10646-1 是因为在 redhat 7.3 和 redhat 8.0 上都能用。

因为 jre/jdk 找不到 Redhat 的 true type 字体,在文件 font.properties.zh.Redhat 最后加入

appendedfontpath=/usr/lib/X11/fonts/ttf-zh
appendedfontpath=/usr/share/fonts/zh_CN/TrueType

将字体名全部替换成 -misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

第一个Java程序经常出现的问题(一)

在Java的学习过程中,我们经常会遇到各种各样的问题,这不仅会打消我们的积极性,又是仅仅是一个小问题会让我们纠结好几天,仍然无法解决。 我在学习Java的时候就会遇到各种各样的问题,尽管网络上有很多...
  • wtw1028
  • wtw1028
  • 2015-02-25 13:45:11
  • 480

[Java面试八]Hibernate总结以及在面试中的一些问题.

1.为什么要使用Hibernate开发你的项目呢?Hibernate的开发流程是怎么样的? 为什么要使用 ①.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代...
  • qq_35833843
  • qq_35833843
  • 2016-12-11 17:35:43
  • 90

[Java面试五]Spring总结以及在面试中的一些问题.

1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由S...
  • qq_35833843
  • qq_35833843
  • 2016-12-11 17:33:52
  • 78

webservice使用时出现的问题总结

webservice 错误::无法加载协定为的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。  错误::无法加载协定为“ServiceReference1.INe...
  • u010178308
  • u010178308
  • 2018-03-07 17:34:13
  • 48

在redis使用过程遇到的一些问题的总结

tpn(taobao push notification)在使用redis计算消息未读数的过程中,遇到了一系列的问题,下面把这个过程整理了一下,也让大家了解这个纠结的过程,供大家以后使用redis或者...
  • psiitoy
  • psiitoy
  • 2014-08-01 09:12:59
  • 1047

Linux下运行第一个JAVA程序

java java环境变量的配置 vi编辑java,运行java java命令 javac命令 jar命令
  • gfd54gd5f46
  • gfd54gd5f46
  • 2017-01-15 03:02:08
  • 489

嵌入式Linux下Qt的中文显示

一般情况下,嵌入式Qt界面需要中文显示,下面总结自己在项目中用到的可行的办法 1,下载一种中文简体字体,比如我用的是”方正准圆简体“,把字体文件放在ARM开发板系统的Qt字库中,即/usr/lib/f...
  • tianhuxiao540
  • tianhuxiao540
  • 2015-11-16 14:59:30
  • 693

Linux下JDK1.5的下载以及安装文档

  • 2009年08月28日 12:06
  • 6KB
  • 下载

Android之OKHttp使用总结

介绍: OkHttp是一个高效的HTTP库: 持 SPDY ,共享同一个Socket来处理同一个服务器的所有请求 如果SPDY不可用,则通过连接池来减少请求延时 无缝的支持GZIP来减少数...
  • u011068702
  • u011068702
  • 2015-12-18 22:09:25
  • 1085

近期工作中遇到的一些问题总结

1.城市列表数据的更新,可以加入版本控制这个概念,每次进入时先比对本地版本号跟服务器版本号是否一致,不一致去网络进行请求来进行城市数据的更新. 2.解析字典的脚本,将字典字符串拷贝到txt文档,cd...
  • q364385155
  • q364385155
  • 2015-12-22 17:42:24
  • 961
收藏助手
不良信息举报
您举报文章:Linux下Java程序中中文显示的一些问题的总结
举报原因:
原因补充:

(最多只允许输入30个字)