项目中包含了一项生成JPG图片的功能,该功能需要使用JAVA的Graphics2D动态生成图片中的文字,原来在Windows平台中没有发现问题,但是迁移至Linux平台后发现生成的中文变成了乱码。

百度发现是因为Linux下没有相应的字体引起的,解决办法如下:

1、找到Windows平台下的字体文件;

常规路径为:C:\Windows\Fonts

宋体文件为:simsun.ttc

楷体文件为:simkai.ttf

2、找到Linux平台下JDK的字体目录;

本系统路径为:/opt/IBM/WebSphere/AppServer/java_1.7_64/jre/lib/fonts

该路径下存储了默认的字体。

[root@appsrv01 fonts]# pwd
/opt/IBM/WebSphere/AppServer/java_1.7_64/jre/lib/fonts
[root@appsrv01 fonts]#
[root@appsrv01 fonts]# ll
total 31460
-rwxr-xr-x 1 root root 4041 Mar 24 2014 fonts.dir
-rwxr-xr-x 1 root root 75144 Mar 24 2014 LucidaBrightDemiBold.ttf
-rwxr-xr-x 1 root root 75124 Mar 24 2014 LucidaBrightDemiItalic.ttf
-rwxr-xr-x 1 root root 80856 Mar 24 2014 LucidaBrightItalic.ttf
-rwxr-xr-x 1 root root 344908 Mar 24 2014 LucidaBrightRegular.ttf
-rwxr-xr-x 1 root root 317896 Mar 24 2014 LucidaSansDemiBold.ttf
-rwxr-xr-x 1 root root 698236 Mar 24 2014 LucidaSansRegular.ttf
-rwxr-xr-x 1 root root 234068 Mar 24 2014 LucidaTypewriterBold.ttf
-rwxr-xr-x 1 root root 242700 Mar 24 2014 LucidaTypewriterRegular.ttf

3、将需要的字体拷贝至此目录即可。

[root@appsrv01 fonts]# ll
total 31460
-rwxr-xr-x 1 root root 4041 Mar 24 2014 fonts.dir
-rwxr-xr-x 1 root root 75144 Mar 24 2014 LucidaBrightDemiBold.ttf
-rwxr-xr-x 1 root root 75124 Mar 24 2014 LucidaBrightDemiItalic.ttf
-rwxr-xr-x 1 root root 80856 Mar 24 2014 LucidaBrightItalic.ttf
-rwxr-xr-x 1 root root 344908 Mar 24 2014 LucidaBrightRegular.ttf
-rwxr-xr-x 1 root root 317896 Mar 24 2014 LucidaSansDemiBold.ttf
-rwxr-xr-x 1 root root 698236 Mar 24 2014 LucidaSansRegular.ttf
-rwxr-xr-x 1 root root 234068 Mar 24 2014 LucidaTypewriterBold.ttf
-rwxr-xr-x 1 root root 242700 Mar 24 2014 LucidaTypewriterRegular.ttf
-rwxrwxr-x 1 root root 11785184 Nov 29 03:12 simkai.ttf
-rw-r--r-- 1 root root 18259888 Nov 29 03:15 simsun.ttc

4、重启应用程序服务器后验证功能,发现已恢复正常。

Linux环境下中文字体乱码处理办法的更多相关文章

  1. Latex 环境下“中文字体”的使用

    Latex 环境下“中文字体”的使用 使用CTex自带编辑器WinEdt,在该环境下如何使用中文字体呢?作为一个菜鸟,折腾了好几天,最终基本解决了这个问题.现在整理下,分享给后来者. 对于使用中文字体 ...

  2. Linux 环境下思源黑体字体与 Java 之间的兼容性问题的解决(补充说明)

    在前一篇随笔中,我讲了一下有关 Linux 环境下思源黑体与 Java 之间的兼容性问题,后来经过测试发现,默认安装的思源黑体字体同时包含简体字体和繁体字体,并且其对应的语言编码也是不同的.尝试着把繁 ...

  3. php导出pdf,dompdf中文字体乱码解决办法(特别是代码迁移引起的乱码)

    dompdf\lib\fonts\dompdf_font_family_cache.php记住这个文件里面存放的是字体生成的缓存,迁移时如果覆盖了这个文件会导致乱码而且很难找到出错的地方,相信我... ...

  4. CentOS环境下中文显示乱码,vim和ls命令显示中文均为乱码的解决办法

    1.登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言 2.查看是否有中文语言包可以在终端输入 locale命令,如有zh cn 表示已经安装了中文语言 3.如果 ...

  5. linux svn up 中文显示乱码解决办法

    vi /etc/sysconfig/i18n #LANG="en_US.UTF-8" #LANG=zh_CN.GB18030 #LC_ALL=zh_CN.GB18030 #SYSF ...

  6. Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法(修订)

    Fedora 24 Linux 桌面环境默认字体渲染引擎 freetype 及字体配置工具 fontconfig 采用的是未经优化的编译及设置,字体渲染效果比较差.而某些 Linux 发行版的桌面字体 ...

  7. Linux环境下Java中文乱码解决方案

    相信很多朋友遇到过Java的乱码问题,最近我也在解决一个“使用文本生成图片过程中中文以及特殊字符乱码”的问题:花了我大量时间,Debug了sun.font.sun.awt下面的各种源码,终于搞懂了其机 ...

  8. 在linux环境下使用icepdf或pdfbox将pdf转化成图片是乱码解决

    在linux环境下使用icepdf或pdfbox将pdf转化成图片是出现乱码,网上查发下是itextpdf生成pdf引用"STSong-Light"字体而linux环境下没有这个字 ...

  9. Xshell4连接,Linux系统中文显示乱码解决办法

    Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET NetSarang Xshell 4 Build 0120议.使用 ...

随机推荐

  1. OC中类别、扩展、协议与委托

    一.类别(category) 类别(category)——通过使用类别,我们可以动态地为现有的类添加新方法,而且可以将类定义模块化地分不到多个相关文件中.通常只在类别中定义方法.(类别,接口部分的定义 ...

  2. SQL三大范式三个例子搞定

    第一范式(1NF) (必须有主键,列不可分) 数据库表中的任何字段都是单一属性的,不可再分 create table aa(id int,NameAge varchar(100)) insert aa ...

  3. Linux命令小结:crontab/netstat/iostat/sar

    crontab cron可以设定在指定的时间运行任务. 1.查看定时任务 [root@client1 ~]# crontab -l -u root */1 * * * * date >> ...

  4. CodeSmith Generator 7.0.2激活步骤

    地址是:http://www.cnblogs.com/dunitian/p/4096917.html

  5. XML文件的读写

    using System; using System.Collections.Generic; using System.Xml; namespace COMMON { public class Xm ...

  6. jackson2.5.0升级到2.7.0

    开发环境:spring-mvc4.1.7.jackson2.7.0 问题描述:项目中将原来的jackson2.5.0升级到2.7.0,导致服务调用出错. mvc相关的配置文件如下: <?xml ...

  7. linux下搭建nagios

    配置环境:1)CentOS 6.5 作为监控主机,IP:10.0.0.30(根据自己公司需要改变) 2)客户机: windows server  2008R2 , windows 7, windows ...

  8. lua 位运算

    bit = {data32={}} , do bit.data32[i] = ^(-i) end function bit:d2b( arg ) local num = tonumber( arg ) ...

  9. Debian系统vim中文显示乱码问题

    网上查的一堆东西好像都不灵,试了半天! 先安装中文字体:sudo aptitude install fonts-arphic-uming fonts-wqy-zenhei 然后:sudo locale ...

  10. Redis小结

    一. Redis简介 Redis是一个速度非常快的高性能的key-value存储系统.redis的出现,很大程度补偿了memcached这类key/value存储的不足.Redis支持存储五种valu ...