Linux环境下让JDK支撑中文

简介: IBM JDK6默认的情况下是支持的,偷懒的可以直接去下IBM的。 SUN JDK6在LINUX环境下不支持中文,以下是解决办法。

IBM JDK6默认的情况下是支持的,偷懒的可以直接去下IBM的。

SUN JDK6在LINUX环境下不支持中文,以下是解决办法。

实验环境:Ubuntu8.10,JDK6
路径说明:1、字体文件路径/usr/share/fonts/yahei/msyh.ttf
                  2、JAVA_HOME=/usr/lib/jvm/jdk
(请根据你的实际路径修改变命令内容)

解决AWT外的乱码:
1、cd /usr/lib/jvm/jdk/jre/lib/fonts
(进入jre的fonts文件夹)
2、sudo mkdir fallback
(创建文件夹fallback,文件名必须是"fallback",这是设置文件中指定的)
3、cd fallback
(进入fallback文件夹)
4、sudo ln -s /usr/share/fonts/yahei/msyh.ttf
(建立msyh.ttf字体文件的软连接)
5、sudo mkfontscale
(建立fonts.scale文件)
6、sudo mkfontdir
(在fonts.scale的基础上建立fonts.dir文件)

如果使用中不涉及AWT中文显示,问题已解决,针对AWT的乱码问题,必须实施以下步骤:

1、cd /usr/lib/jvm/jdk/jre/lib/fonts
(进入jre的fonts文件夹)
2、sudo cat ./fallback/fonts.dir >> fonts.dir
(把/fallback/fonts.dir的内容添加到fonts.dir文件的结尾,可以手动复制,目的是把雅黑字体的相关内容添加进jre的fonts.dir里)
3、cd ..
(返回上一级目录,即/usr/lib/jvm/jdk/jre/lib)
4、sudo mkdir fontconfigs
(建立fontconfigs文件夹,fontconfigs可以随便命名)
5、sudo mv fontconfig.* ./fontconfigs
(把lib文件夹内的fontconfig开头的文件剪切到fontconfigs文件夹下,因为这些设置文件是应用于不同系统的,按一定顺序查找,如果不把它们移走,不能保证执行我们将要建立的文件fontconfig.properties)
6、sudo gedit fontconfig.properties
(创建并打开文件fontconfig.properties,文件名必须是默认查找顺序列表中的一个,fontconfig.properties就是其中之一)
7、复制以下内容到fontconfig.properties,并保存:


# @(#)linux.fontconfig.Ubuntu.7.04.properties   1.2 07/10/02
#
# Copyright 2007 ganjinghong, Inc. All rights reserved.
#

# Version

version=1

# Component Font Mappings
serif.plain.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
serif.bold.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
serif.italic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
serif.bolditalic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
sansserif.plain.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
sansserif.bold.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
sansserif.italic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
sansserif.bolditalic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
monospaced.plain.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
monospaced.bold.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
monospaced.italic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
monospaced.bolditalic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialog.plain.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialog.bold.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialog.italic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialog.bolditalic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialoginput.plain.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialoginput.bold.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialoginput.italic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialoginput.bolditalic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0
dialoginput.bolditalic.chinese-cn=-microsoft-microsoft yahei-medium-r-normal--*-%d-*-*-p-*-gb2312.1980-0

serif.plain.latin-1=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.bold.latin-1=-b&h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.latin-1=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.bolditalic.latin-1=-b&h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1
sansserif.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
sansserif.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
monospaced.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
monospaced.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1
dialog.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialog.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
dialoginput.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
dialoginput.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1


# Search Sequences

sequence.allfonts=latin-1,chinese-cn

# Exclusion Ranges

# Font File Names

8、无需重启,问题已解决。

其他字体设置方法:
把fontconfig.properties文件中的microsoft-microsoft yahei替换为你所用字体的名称。
TIPS:
1、名称获取方法:可以在字体文件同级目录下执行:sudo mkfontscale,然后打开生成的fonts.scale,里面就有相关的名称。
2、必须把你所用中文字体的fonts.scale的相关内容添加到/lib/fonts/fonts.dir

目录
相关文章
|
28天前
|
JSON Kubernetes Linux
Linux环境签发CA证书和K8s需要的证书
Linux环境签发CA证书和K8s需要的证书
29 0
|
15天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
39 6
|
1天前
|
关系型数据库 MySQL Java
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
12 2
|
1天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
16 0
|
17天前
|
Java Linux 开发工具
linux jdk的安装
linux jdk的安装
18 0
|
28天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
29 0
|
30天前
|
Java Linux
linux安装jdk环境
linux安装jdk环境
29 0
|
30天前
|
Java Linux Shell
linux卸载jdk
linux卸载jdk
36 0
|
9月前
|
Oracle Java 关系型数据库
JDK安装教程——windows版、Linux版
如果显示版本说明已经安装,不用重复安装(因为我这里已经安装了,所以会显示)
|
开发工具
LINUX05_JDK1.8如何安装
LINUX05_JDK1.8如何安装
137 0
LINUX05_JDK1.8如何安装