转载自: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. 没想到吧,Spring中还有一招集合注入的写法

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. Spring作为项目中不可缺少的底层框架,提供的最基础的功能就是bean的管理了.bean的注入相信大家都比较熟 ...

  2. android studio 初印象

    ANSROID STUDIO sdk 目录 build-tools目录,存放各版本Android的各种编译工具. docs目录,存放开发说明文档. extras\android目录,存放兼容低版本的新 ...

  3. UI自动化测试执行问题总结

    ------------恢复内容开始------------ ![image](https://img2022.cnblogs.com/blog/1510476/202206/1510476-2022 ...

  4. 从傅里叶级数(Fourier series)到离散傅里叶变换(Discrete Fourier transform)

    从傅里叶级数(Fourier series)到离散傅里叶变换(Discrete Fourier transform) 一. 傅里叶级数(FS) 首先从最直观的开始,我们有一个信号\(x(t)\)(满足 ...

  5. 微信小程序接口请求/form-data/单文件、多文件上传

    1.普通的微信请求封装 1 const http = (options) =>{ 2 return new Promise((resolve,reject) => { 3 wx.reque ...

  6. Homebrew安装(macos)

    参照大佬的博客文章:https://zhuanlan.zhihu.com/p/111014448 OSX 将下面命令复制到终端执行 /bin/zsh -c "$(curl -fsSL htt ...

  7. 快来体验快速通道,netty中epoll传输协议详解

    目录 简介 epoll的详细使用 EpollEventLoopGroup EpollEventLoop EpollServerSocketChannel EpollSocketChannel 总结 简 ...

  8. Redis相关练习操作,redis连接池

    package com.shujia.controller; import com.shujia.entity.MyTypedTuple; import com.shujia.entity.User; ...

  9. kubernetes 静态存储与动态存储

    静态存储   Kubernetes 同样将操作系统和 Docker 的 Volume 概念延续了下来,并且对其进一步细化.Kubernetes 将 Volume 分为持久化的 PersistentVo ...

  10. 实践GoF的23种设计模式:观察者模式

    摘要:当你需要监听某个状态的变更,且在状态变更时通知到监听者,用观察者模式吧. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式:观察者模式>,作者: 元闰子 . 简介 现在有 ...