项目场景:

在使用freemark模板生成Html转为img文件的时。


问题描述:

提示:
在转成图片时会出现中文乱码。
html生成的图片的代码:
但是当前代码在window系统的时候生成一直成功,但是在linux系统中就是乱码,小方块。这里就想到了可能是系统字体问题,于是百度。

        final File f = new File(tempFilePath,inputFilename);if(!f.getParentFile().exists()){f.getParentFile().mkdirs();}//将html转成文件。中文乱码问题处理为以下方式Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f),"UTF-8"));writer.write(html);writer.flush();writer.close();//将xhtml文件转成图片final File resultImgFile= new File(tempFilePath,outputFilename);try {final Java2DRenderer renderer = new Java2DRenderer(f, widthImage);final BufferedImage img = renderer.getImage();final FSImageWriter imageWriter = new FSImageWriter();imageWriter.setWriteCompressionQuality(0.9f);FileOutputStream fileOutputStream = new FileOutputStream(resultImgFile);OutputStream fos = new BufferedOutputStream(fileOutputStream);imageWriter.write(img, fos);fos.flush();fos.close();}finally {f.delete();}

原因分析:

BufferedImage在使用的时候若内容中包含中文应该是调用到当前操作系统中匹配的字体类型,若没有找到就会出现乱码。


解决方案:

1.在linux中安装字体类型。
1.1 安装mkfontscale 、mkfontdir 命令
在linux中执行以下命令:

'# cd /usr/share/fonts  (若fonts不存在则创建)
'# mkdir winFont  (创建好目录后,将文件simsun.ttc拷到当前文件中)
'# mkfontdir (执行成功后会出现fonts.dir文件夹)
'# mkfontscale (执行成功后会出现fonts.scale文件夹)

最后如果执行成功了需要重新启动出现问题的系统服务。
··········································································
若在执行mkfontdir的过程中出现

 mkfontdir: command not found// 解决方案 在centos系统中yum install fontconfigyum install mkfontscaleyum install fontscale

查看当前系统语言类型 echo $LANG
设置中文:export LANG=zh_CN.UTF-8
设置英文:export LANG=en_US.UTF-8

liunx 中文乱码 和 html转图片中文乱码问题处理方式以及linux中文字体包相关推荐

  1. php验证码图片乱码,php ,验证码图片,乱码

    找不出哪里出错了,但是预览时就是会出现一大堆乱码 回复讨论(解决方案) 乱码是浏览器显示了字符而不是图片么? 关闭浏览器重新访问这个地址试试.如果还不行,应该是header的问题. 图片输出,最好用U ...

  2. GET方式请求参数中文乱码问题 [JavaWeb][Servlet]

    请求参数中文乱码问题(GET) 同样的我们要解决GET方式下的请求参数中文乱码问题,那么我们首先要知道GET请求方式之下为什么中文数据就会出现乱码? 因为我们GET方式之下的请求参数是在请求行中,是紧 ...

  3. 文件下载图片或者视频及解决保存文件时中文乱码问题

    文件下载需求: 页面显示超链接 点击超链接后弹出下载提示框 完成图片文件下载 分析: 超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框.不满足需求(所以要在a标签 ...

  4. linux 中文乱码 转png_使用pdfBox实现pdf转图片,解决中文方块乱码等问题

    一.引入依赖 org.apache.pdfbox fontbox 2.0.13 org.apache.pdfbox pdfbox 2.0.13 二.PDF转PNG代码 String pdfBase64 ...

  5. Mp3tag中文设置方法(解决mp3歌曲名乱码,出现问号的问题)

    解决Mp3tag中文设置方法(解决mp3歌曲名乱码,出现??问题) Mp3tag(mp3标签修改器)软件是MP3文件ID3-Tag信息修改器.所谓ID3-Tag 信息,就是在MP3文件中加入曲名.演唱 ...

  6. 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]

    在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案 病症表现为:主要表现为用T-sql语句插入中文数据时数据库显示全是问号"???"  解决办法: 第一种办法 ...

  7. 解决Linux中文乱码

    解决Linux中文乱码 方法一:    修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030 对于其他用户,也必须相应修改该文件 使用该方法时putt ...

  8. qt程序在Linux下字体乱了,解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!...

    本文解决的主要是界面程序编译运行后无法显示中文的问题,如果在creater 中无法输入中文,下载个IBus或者搜狗之类的中文输入法即可解决! 首先说乱码问题,这个很好解决: 如果是在linux下打开W ...

  9. linux 中文乱码问题的解决方法

    (1)个vim打开一个文件时遇到中文乱码问题 vim工具解析文件时使用的编码方式不对 (2)源文件vim打开没有乱码,但是终端显示乱码 终端编码方式不对,导致输出为乱码 解决方法: (1)在vim中可 ...

最新文章

  1. 那些消失的互联网中年人
  2. 个人笔记------注释代码(神兽)
  3. Opencv 去高光或镜面反射(illuminationChange)
  4. 下载python步骤_下载及安装Python详细步骤
  5. 创建型模式(一):FactoryMethod ( 工厂方法 )
  6. 排序算法 —— 归并排序
  7. 使用 Packer、Ansible 和 Terraform 构建不可变的基础设施Devops工具链
  8. android中打开pdf,在Android应用程序中打开PDF
  9. Linux之Keepalived实现服务器集群高可用
  10. java基础01-java历史
  11. 《波斯王子-时之砂》精美图文攻略
  12. [大数据]Hadoop+Storm+Spark全套入门及实战视频教程
  13. 三个比较经典的策略: Dual Thrust、R-Breaker、Dynamic Breakout II
  14. python计算图像面积_利用图像处理计算叶片面积
  15. 在chrome浏览器上下载txt小说的Javascript代码
  16. 白城师范学院计算机系鲍金玲,企业绩效考核方法的比较与借鉴
  17. mysql benchmark tool_使用MYSQL benchmark - DBT2 Benchmark Tool遇到的问题
  18. Electron--快速入门
  19. 免费天气查询工具类源码,开箱即用,根据中国气象局API编写。高效稳定
  20. 靠一己之力造就3个首富,丁磊、刘强东、宗庆后背后的神秘女人

热门文章

  1. CTR预估算法(浅层模型)
  2. wifi连接状态android,判断android设备wifi连接状态
  3. 在eclipse中查看jar包
  4. SysML精粹学习笔记一
  5. 硬件设计22之高速电路设计保险丝的选型
  6. 计算机图像处理要学什么软件有哪些,电脑中常用的图像处理软件有哪些
  7. 二维泊松方程求解--点迭代法
  8. 上海落户计算机水平毕业研究生,2021上海积分落户应届毕业生直接落户上海
  9. 谁说待国企就是养老?前阿里P8总结500页Java成长笔记全网首发!爱了爱了!
  10. 日巡千店,数字化远程巡店打造高效运营模式