乱码原因:
主要是因为Linux没有对应字体库导致。Linux本身自带字体库(具体有啥,暂不深究),但不包含windows上的,尤其像“微软雅 黑”这样的字体库(主因应该是版权问题);所以在Windows开发R程序,在设置字体后(如“宋体”、“黑体”、“微软雅黑”),在Linux上是无法 显示的。
解决办法:
以CentOS为例,其他版本请自行对照相应路径
1. 在/usr/share/fonts下新建一个微软字体文件夹,如msfonts
2. 将windows系统盘下fonts中的MSYHBD.TTF 、MSYH.TTF 、simhei.ttf 、simsun.ttc 拷贝到linux上步骤1新建的文件夹/usr/share/fonts/msfonts下
3. 修改/etc/fonts/fonts.conf,在<dir>/usr/share/fonts</dir>后增加<dir>/usr/share/fonts/msfonts</dir>,如下
<!-- Font directory list --> <dir>/usr/share/fonts</dir> <dir>/usr/share/fonts/msfonts</dir> <dir>/usr/share/X11/fonts/Type1</dir> <dir>/usr/share/X11/fonts/OTF</dir> <dir>~/.fonts</dir>
4. 执行fc-cache -f 使得新加的字体立即生效。
5. 修改R程序,在加载Cairo后,设置字体
# 加载Cairo库 library(Cairo) # 设置字体 CairoFonts(regular = "宋体:style=Regular", bold="微软雅黑:style=Regular") # 其他画图代码,balabala...
经测试,只设置第一个参数regular 不起作用,使用的是第二个参数bold的设置,原因不明;其中冒号“:”分隔符后边的style表示使用的样式,Regular正常 Bold粗体
关于字体大小是在CairoPNG函数中的pointsize参数设置
CairoPNG(filename = "Rplot.png", width = 480, height = 480, pointsize = 12, bg = "white", res = NA, ...)
最后附上Cairo API。
另外再补充一句:关于windows上使用UTF-8字符集乱码问题,如果系统默认是GBK字符集,这个问题应该 无解,原因是R运行时环境无法指定字符集。除非用icon函数进行转码,但是这样写的代码没法跨平台执行了。至于更改windows操作系统字符集,或许可以,未测;若有人成功,请给出方案
相关推荐
标题 "jfreechart部署在Linux服务器上生成图片乱码的解决方案" 涉及到的主要知识点是关于Java图形库JFreeChart在Linux环境中的使用,特别是解决中文字符乱码的问题。JFreeChart是一个广泛使用的开源Java库,它允许...
总之,解决Linux下Java生成图片中文乱码问题的关键在于确保系统中有合适的中文字体,并使Java应用程序能够正确访问这些字体。通过安装fontconfig和相应的中文支持包,以及重启服务,可以有效地解决这一问题。在实际...
通过以上步骤,你应该能够成功解决JFreeChart在Linux服务器上生成图片时的中文乱码问题。值得注意的是,这种方法不仅适用于JFreeChart,还适用于其他依赖于Java运行环境显示中文字符的程序。在实际操作中,应根据...
java——图片字体显示方块问题处理 /usr/java/jdk1.7.0_80/jre/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf /usr/java/jdk1.7.0_80/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf
合成图片上用 java Graphics2d 写字 本地展示正常 linux 服务器乱码 解决方案-附件资源
在Linux环境下,PHP处理中文字符时可能会遇到乱码问题,这主要是由于字符编码设置不正确导致的。本文将详细介绍如何快速解决Linux PHP中文乱码的问题,以Ubuntu系统为例。 首先,我们需要理解字符编码的基础知识。...
然而,有时候用户会遇到一些技术难题,比如在你提到的"jira-front.rar 解决jira乱码"的问题中,Jira在显示中文字符时遇到了困扰。这个问题涉及到字体渲染和国际化支持,下面我们将深入探讨这个问题的解决方案以及...
这个压缩包“phantomjs-2.1.1.zip”包含了PhantomJS的安装包以及解决在生成图片时可能出现中文显示问题的字体包。 在使用PhantomJS的过程中,我们首先需要解压缩这个zip文件。文件"phantomjs-2.1.1-linux-x86_64....
解决方法是在服务器上安装必要的中文字体,或者在jGraphX的渲染过程中指定可用的中文字体。 总的来说,实现这个功能需要对前端的mxGraph和后端的jGraphX有深入的理解,以及处理XML和图片转换的技巧。解决上述问题...
在PHP开发中,有时我们需要动态生成图片,例如创建自定义的logo、生成图表或添加水印等。Imagick是一个强大的图像处理库,它提供了在PHP中操作图像的各种功能,包括创建、编辑和合成图像。在本文中,我们将探讨如何...
PD4ML能够在Linux环境下运行,这意味着开发者可以利用Linux服务器的强大性能和稳定性来生成PDF。Linux的开源特性与PD4ML的开源精神相吻合,两者结合可以为开发者提供一个低成本、高效能的解决方案。 5. **...
Linux部署的Java应用生成图片会出现乱码,将文件解压至 /usr/share/fonts 目录下,依次执行 mkfontscale 、mkfontdir 、fc-cache 使字体生效,如果不生效则重启服务器或执行source /etc/profile 如果提示没有...
同时,由于ECharts和PhantomJS都是跨平台的,因此这个解决方案不仅限于Linux服务器,也可以在Windows或macOS等环境下运行。 为了使用`echarts-convert.js`,你需要先确保安装了PhantomJS,然后将`echarts.js`和`...
### Dede后台验证码不显示三种解决方案 #### 概述 在使用DedeCMS(织梦内容管理系统)的过程中,用户可能会遇到后台登录时验证码不显示的问题。这种情况不仅影响用户体验,还可能导致无法正常登录后台进行管理操作...
2. **服务器端处理**:PHP代码在服务器端运行,生成HTML并发送到客户端,提供动态网页内容。 3. **数据库集成**:PHP支持多种数据库,如MySQL、PostgreSQL、SQLite等,方便进行数据操作和管理。 4. **开源**:PHP...
- 图片缩略图生成:小于5k则不生成(直接输出) - 加载文件列表改为异步方式,数据返回采用回调函数方式。增强体验 - 选中优化,文件&文件夹重命名、文件&文件夹新建 后自动选中。(f5增加回调。); - 选中保持,...
4、新增 web.config 文件,用于 windows 2008 以及以上系统的伪静态配置(需要服务器支持)我们建议系统运行于linux服务器上。 FengCms系统介绍 FengCms系统是由地方网络工作室倾力打造的一套PHP MYSQL的CMS,和...
- **图片校验码-JSP版**:通过JSP生成验证码图片的方法。 #### 第13章 剖析EL表达式 - **再谈EL(Expression Language)**:深入理解EL表达式的概念及其在JSP中的应用。 - **作用域**:回顾JSP中不同作用域的使用...