项目中包含了一项生成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. windbg不识别pdb文件符号

    一开始配置完毕后 输入reload  但不识别 输入reload -f 还是不识别 输入reload -f 模块名 继续不识别 !sym noisy 查看 输入reload 发现有了一堆的查找路径 把 ...

  2. PHP-redis中文文档介绍(转自http://www.jb51.net/article/33887.htm)

    Redis::__construct构造函数$redis = new Redis(); connect, open 链接redis服务参数host: string,服务地址port: int,端口号t ...

  3. lua闭合函数

    function count( ... ) return function( ... ) i = i+ return i end end local func = count(...) print(f ...

  4. 移动端开发库zepto 之我思

    1.zepto tap事件的点透事件. 比如有一个bug.那天我大概至少花了一个钟头来找这个错误. 点击一个按钮,出来一个弹框.弹框我这里引入的是boostrap的js组件里的modal组件. 结果我 ...

  5. [学习笔记]坚果云网盘,SVN异地代码管理

    SVN的好处不必多说了.但是如果希望有一份自己的用来学习和储备的代码仓库,那么能够异地同步是必不可少的了. 参考作者Mike_QSJ的文章,但是实际上做了很大的改动.一方面使用更常见的windows系 ...

  6. SQL 重置自增列的值 批量处理

    Declare @IdentityTable sysname, @IdentityColumn sysname, @TotalRows int, @i int, @Iden int, @Sql var ...

  7. js校验输入字符串的字节长度

    //检查输入字符串字节长度 function fucCheckLength(strTemp) { var i,sum; sum=0; var length = strTemp.length ; for ...

  8. C语言之数组,字符串,指针

    一. 数组的定义 1.  数组初始化 初始化方式 int a[3] = {10, 9, 6}; int a[3] = {10,9}; int a[] = {11, 7, 6}; int a[4] = ...

  9. MVC3在IIS7.5发布(部署)报403.14错误的解决办法

    MVC3在IIS7.5发布(部署)报403.14错误的解决办法     错误现象: 报403.14 forbidden错误 web服务器被配置为不列出此目录的内容. 解决办法: 检查站点的处理程序映射 ...

  10. 百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?

    好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系 ...