转载自:https://blog.51cto.com/u_13776519/5329428

背景介绍:

1.使用docker方式安装运行的Confluence

2.进行了破解,使用外置数据库

3.docker启动命令中会把容器存储目录挂载到宿主机中

因此,如下的操作并不是在Confluence所在主机上进行,而是需要进入到Confluence容器中操作

docker exec -it confluence /bin/bash

1.复制并安装字体

在Confluence服务器上新建一个字体目录:

mkdir /usr/share/fonts/windowsfonts/

从window的​​C:\Windows\Fonts下复制所有字体文件到上面新建的目录。 ===》 上一步操作可以理解成把宿主机的文件复制到容器指定目录下

或者这样,在容器的宿主机挂载目录下创建一个保存字体的文件夹,然后进入到容器中,把这个文件夹里的字体复制到上面新建的目录。

2.修改字体配置文件,新增上一步新建的目录

vim /etc/fonts/fonts.conf 

  <dir>/usr/share/fonts</dir>
<dir>/usr/share/fonts/windowsfonts/</dir> # 新增这行
<dir>/usr/share/X11/fonts/Type1</dir>
<dir>/usr/share/X11/fonts/TTF</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>

3.修改setenv.sh 文件

cp /opt/atlassian/confluence/bin/setenv.sh  /root/setenv.sh_20180114
vim /opt/atlassian/confluence/bin/setenv.sh #搜索`CATALINA_OPTS`, 在原有行的基础上追加如下行:
CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/usr/share/fonts/windowsfonts/ ${CATALINA_OPTS}"

4.清空缓存文件(在容器中操作)

#清空文件
rm -rf /var/atlassian/application-data/confluence/viewfile/*
rm -rf /var/atlassian/application-data/confluence/thumbnails/*
rm -rf /var/atlassian/application-data/confluence/shared-home/dcl-document/*
rm -rf /var/atlassian/application-data/confluence/shared-home/dcl-document_hd/*
rm -rf /var/atlassian/application-data/confluence/shared-home/dcl-thumbnail/*

不清空缓存文件的话, confluence预览旧文件时还是会显示方框,只有新文件才会正常

所有操作完成以后需要重启confluence服务

5.问题:若是完成了以上操作后,confluence预览旧文件时还是会显示方框,则估计是缺少安装某些软件

修改仓库地址

cp /etc/apk/repositories /etc/apk/repositories.bak  

vim /etc/apk/repositories # 注意,版本号要跟之前的保持一致,也就是v3.9
https://mirrors.aliyun.com/alpine/v3.9/main
https://mirrors.aliyun.com/alpine/v3.9/community # 更新
apk update
apk add terminus-font
apk add ttf-ubuntu-font-family
apk add unifont
apk add xfontsel
apk add font-adobe-100dpi
apk add font-adobe-75dpi
apk add ghostscript-fonts
apk add libfontenc
apk add libxfont
apk add mkfontdir
apk add terminus-font
apk add ttf-ubuntu-font-family
apk add unifont
apk add font-adobe-utopia-100dpi
apk add font-adobe-utopia-75dpi
apk add font-micro-misc
apk add font-mutt-misc
apk add font-sony-misc
apk add fontconfig
apk add font-bh-ttf
apk add ttf-dejavu
apk add ttf-droid
apk add ttf-freefont
apk add ttf-linux-libertine
apk add font-bh-ttf
apk add mkfontscale

如上安装这么多软件,有些软件是安装过的,有些是没法安装的,具体安装哪些软件才会解决上述问题,不得而知,总之,如下都操作安装一遍就行了

所有操作完成以后需要重启confluence服务

6.效果

Confluence预览中文附件出现乱码的更多相关文章

  1. 关于confluence上传文件附件预览查看时出现乱码的问题解决办法

    在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候 ...

  2. 问题记录,如何解决confluence的office预览的时候的乱码问题

    在新的服务器(ubuntu16.04)上安装confluence,预览office的附件的时候,发现中文无法正确显示 在网上搜了一下,搜到一篇官方的文档,是关于这个问题的 问题原因: 在服务器上没有安 ...

  3. LogicalDOC office预览中文乱码的问题

    近期在试用LogicalDOC,一个文档管理系统. 上传的office文件预览中文乱码 问题原因是LibreOffice缺少对应的中文字体导致,只需要把对应的中文字体拷贝到/opt/libreoffi ...

  4. LaTeX实时预览中文

    参考资料:http://blog.sina.com.cn/s/blog_6ea58f530101aizw.html 功夫不负有心人,终于在经过艰苦卓绝的寻找之后,让我的Texpad实现了实时预览.此时 ...

  5. SpringBoot开发案例之mail中文附件名字乱码

    最近在开发一个邮件发送多附件的微服务,使用的是org.springframework.mail.javamail.JavaMailSender;包下面的JavaMailSender 但是发送出来的附件 ...

  6. confluence上传文件附件预览乱码问题(linux服务器安装字体操作)

    在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候 ...

  7. Centos 安装字体库 以及解决confluence 旧文档数据的乱码

    首先,第一步我们需要执行以下的命令来安装字体管理工具:  yum install -y fontconfig mkfontscale 然后我们到(Windows系统)“c:/windows/fonts ...

  8. iOS Document Interaction(预览和打开文档) 编程指南

    原文:http://developer.apple.com/library/ios/#documentation/FileManagement/Conceptual/DocumentInteracti ...

  9. 自己动手开发更好用的markdown编辑器-04(实时预览)

    这里文章都是从个人的github博客直接复制过来的,排版可能有点乱. 原始地址 http://benq.im/2015/04/25/hexomd-04/   程序打包   文章目录 1. 打开新窗口 ...

随机推荐

  1. eclipse调用MySQL数据库的方法

    今天来总结一下使用如何使用eclipse调用MySQL数据库的数据. 一.设置eclipse 我们首先来设置一下eclipse. 在下部的Servers中右键选择new,选择server 之后在新弹出 ...

  2. super详解

    1.super和this的区别 super调用的是父类的属性或方法,this是调用当前类的属性或者方法.     (1)super和this关于属性的调用     (2)super和this关于方法的 ...

  3. flashplayer下载

    现在网上不好找,折磨了我好久.这有一个方法,或许能帮到你. 下载地址:https://gitee.com/urain39/adobe-flash_player_sa 官网已经停止更新维护了,连Debu ...

  4. windows版本rabbitmq安装及日志level设置

    1.DirectX Repair 安装缺失的C++组件,不安装缺失的组件会造成第二部安装erl文件夹缺少bin文件夹2.安装otp_win64_23.1 1.配置 ERLANG_HOME:地址为Erl ...

  5. 20220722-Java可变参数

    Java可变参数总结 来源:B站韩顺平老师的Java入门教学 代码示例如下: public void f(String str,int... nums){ 方法体; } 代码示例如下: public ...

  6. YII XSS(跨站脚本攻击)

    \Yii::$app->response->headers->add('X-XSS-Protection','0');//表示关闭YII的跨站脚本过滤//http://www.fro ...

  7. Python 懂车帝全车系销量排行榜

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Python 懂车帝全车系销量排行榜 需 ...

  8. Python基础之数据类型和变量

    数据类型 ​ 计算机顾名思义就是可以做数学机器,可以处理各种数值,计算机还能处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据是需要定义不同的数据类型的,在Python中,能够直接处理的数据 ...

  9. java-Servlet-cookie and session

    1 状态管理 a) 什么是状态管理?将浏览器与web服务器之间多次交互当做一个整体处理,并且将多次交互涉及的数据(即状态)保存下来. b) 如何进行状态管理? 可以将状态保存在客户端将状态保存到浏览器 ...

  10. spring boot 中英文官方文档

    中文文档:http://oopsguy.com/documents/springboot-docs/1.5.4/index.html#boot-features 英文官方文档:https://docs ...