Linux环境下"Font font = new Font("黑体", Font.BOLD, 18)"[BufferedImage~Graphics~drawString]中文乱码

本文涉及的产品
简介: Linux环境下"Font font = new Font("黑体", Font.BOLD, 18)"[BufferedImage~Graphics~drawString]中文乱码,windows下不会乱码,但在linux下nginx和tomcat部署后出现乱码、方框、问号等等,不能认清楚!!! 先说说系统: Microsoft Windows [版本 10.0.10586] (

Linux环境下"Font font = new Font("黑体", Font.BOLD, 18)"[BufferedImage~Graphics~drawString]中文乱码,windows下不会乱码,但在linux下nginx和tomcat部署后出现乱码、方框、问号等等,不能认清楚!!!


先说说系统:

Microsoft Windows [版本 10.0.10586]
(c) 2015 Microsoft Corporation。保留所有权利。

----------------------------------------------------------------------

CentOS release 6.5 (Final)
Kernel \r on an \m

----------------------------------------------------tomcat 8.0.28

好了,说怎么解决的吧步骤:

1:查看CentOS下”/usr/share/fonts“目录,查看新的系统则为空目录;无目录可手动创建fonts。

2:打开”C:\Windows\WinSxS\amd64_microsoft-windows-font-truetype-simsunb_31bf3856ad364e35_10.0.10586.0_none_1d80224ec6470747“等目录下,找到自己需要的字体的目录,那个文件夹也是见名知意了;

3:之后把挑选的字体,可以建个文件夹,一次传到Xftp等上传到服务器的”/usr/share/fonts“的目录下;

4:进入"cd /usr/share/fonts/windowsFonts"文件夹,注:windowsFonts为我挑选字体目录:

有楷体,黑体,简宋体,微软雅黑等,最后附上!

5:最后在此目录下,执行"#fc-cache -fv",扫描字体目录并生成字体信息的缓存,然后应用程序就可以"立即"使用这些新安装的字体;

6:最终还是要重启tomcat了,字体生效!

执行命令 fc-cache -fv:

[root@timespacexstar windowsFonts]# fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/windowsFonts: caching, new cache contents: 8 fonts, 0 dirs
/usr/share/X11/fonts/Type1: skipping, no such directory
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/var/cache/fontconfig: cleaning cache directory
/root/.fontconfig: not cleaning non-existent cache directory
fc-cache: succeeded

root@iZ234iuy39uZ:/usr/share/fonts/windowsFonts# fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/usr/share/fonts/truetype: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/truetype/dejavu: caching, new cache contents: 6 fonts, 0 dirs
/usr/share/fonts/windowsFonts: caching, new cache contents: 8 fonts, 0 dirs
/usr/local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/usr/local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/var/cache/fontconfig: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
fc-cache: succeeded

包涵字体:

[root@timespacexstar windowsFonts]# ll
total 77796
-rw-r--r-- 1 root root 16299048 Jan 31 17:43 msyhbd.ttc
-rw-r--r-- 1 root root 23608184 Jan 31 17:43 msyh.ttc
-rw-r--r-- 1 root root  9751720 Jan 31 17:45 simhei.ttf
-rw-r--r-- 1 root root 11785184 Jan 31 17:46 simkai.ttf
-rw-r--r-- 1 root root 18209004 Jan 31 17:47 simsun.ttc

windowsFonts字体

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1天前
|
应用服务中间件 Linux 网络安全
PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
在Azure App Service for Linux上部署的PHP应用遇到上传文件超过1MB时出现413 Request Entity Too Large错误的解决之法
|
1天前
|
自然语言处理 Linux 数据处理
探索Linux的localedef命令:定义和管理本地化环境
`localedef`是Linux中用于创建和管理本地化环境的命令,它基于输入文件和模板生成二进制的本地化定义,以支持多语言显示和处理。通过参数如 `-i` 指定输入文件,`-f` 指定字符集,`-o` 输出文件路径。在实际应用中,如创建法语(法国)环境,会执行类似 `localedef -i fr_FR -f UTF-8 -c -o /path/to/output fr_FR.UTF-8` 的命令。使用时注意输入文件的准确性、选择合适的字符集,并在操作前备份。查阅文档和社区资源可获取更多帮助。
|
4天前
|
编解码 Linux
FFmpeg开发笔记(二十八)Linux环境给FFmpeg集成libxvid
XviD是开源的MPEG-4视频编解码器,曾与DivX一起用于早期MP4视频编码,但现在已被H.264取代。要集成XviD到Linux上的FFmpeg,首先下载源码,解压后配置并编译安装libxvid。接着,在FFmpeg源码目录中,重新配置FFmpeg以启用libxvid,然后编译并安装。成功后,通过`ffmpeg -version`检查是否启用libxvid。详细步骤包括下载、解压libxvid,使用`configure`和`make`命令安装,以及更新FFmpeg配置并安装。
18 2
FFmpeg开发笔记(二十八)Linux环境给FFmpeg集成libxvid
|
6天前
|
Ubuntu Unix 大数据
【Linux操作系统】历史与环境
【Linux操作系统】历史与环境
【Linux操作系统】历史与环境
|
8天前
|
运维 Linux 网络安全
跨平台SSH文件传输:Linux与Windows环境下的实践指南
本文介绍了在Linux和Windows之间使用SCP、SecureCRT及PuTTY工具集进行文件传输的方法。在Linux中,利用SCP命令进行文件下载、上传及目录传输。在Windows环境下,PSFTP和PSCP提供类似功能,而SecureCRT作为SSH客户端,支持设置上传下载目录并进行文件传输。掌握这些工具的使用可提升跨平台运维效率。
|
11天前
|
编解码 Linux
FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp
《FFmpeg开发实战》书中指导如何在Linux环境下为FFmpeg集成libwebp以支持WebP图片编解码。首先,从GitHub下载libwebp源码,解压后通过`libtoolize`,`autogen.sh`,`configure`,`make -j4`和`make install`步骤安装。接着,在FFmpeg源码目录中重新配置并添加`--enable-libwebp`选项,然后进行`make clean`,`make -j4`和`make install`以编译安装FFmpeg。最后,验证FFmpeg版本信息确认libwebp已启用。
23 1
FFmpeg开发笔记(二十五)Linux环境给FFmpeg集成libwebp
|
13天前
|
Linux Shell
Linux配置uwsgi环境
Linux配置uwsgi环境
|
13天前
|
NoSQL 关系型数据库 MySQL
Linux搭建mysql以及Redis环境
Linux搭建mysql以及Redis环境
|
13天前
|
Linux Python Windows
Linux创建虚拟环境
Linux创建虚拟环境
|
13天前
|
关系型数据库 MySQL Linux
Linux搭建mysql环境
Linux搭建mysql环境