Confluence预览中文附件出现乱码
转载自: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预览中文附件出现乱码的更多相关文章
- 关于confluence上传文件附件预览查看时出现乱码的问题解决办法
在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候 ...
- 问题记录,如何解决confluence的office预览的时候的乱码问题
在新的服务器(ubuntu16.04)上安装confluence,预览office的附件的时候,发现中文无法正确显示 在网上搜了一下,搜到一篇官方的文档,是关于这个问题的 问题原因: 在服务器上没有安 ...
- LogicalDOC office预览中文乱码的问题
近期在试用LogicalDOC,一个文档管理系统. 上传的office文件预览中文乱码 问题原因是LibreOffice缺少对应的中文字体导致,只需要把对应的中文字体拷贝到/opt/libreoffi ...
- LaTeX实时预览中文
参考资料:http://blog.sina.com.cn/s/blog_6ea58f530101aizw.html 功夫不负有心人,终于在经过艰苦卓绝的寻找之后,让我的Texpad实现了实时预览.此时 ...
- SpringBoot开发案例之mail中文附件名字乱码
最近在开发一个邮件发送多附件的微服务,使用的是org.springframework.mail.javamail.JavaMailSender;包下面的JavaMailSender 但是发送出来的附件 ...
- confluence上传文件附件预览乱码问题(linux服务器安装字体操作)
在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候 ...
- Centos 安装字体库 以及解决confluence 旧文档数据的乱码
首先,第一步我们需要执行以下的命令来安装字体管理工具: yum install -y fontconfig mkfontscale 然后我们到(Windows系统)“c:/windows/fonts ...
- iOS Document Interaction(预览和打开文档) 编程指南
原文:http://developer.apple.com/library/ios/#documentation/FileManagement/Conceptual/DocumentInteracti ...
- 自己动手开发更好用的markdown编辑器-04(实时预览)
这里文章都是从个人的github博客直接复制过来的,排版可能有点乱. 原始地址 http://benq.im/2015/04/25/hexomd-04/ 程序打包 文章目录 1. 打开新窗口 ...
随机推荐
- java的方法(类似与C语言函数)
package www.nihao; import java.util.Scanner; public class demo02 { public static void main(String[] ...
- jdbc 12: 模糊查询
jdbc连接mysql,进行模糊查询 package com.examples.jdbc.o11_模糊查询; import com.examples.jdbc.utils.DBUtils; impor ...
- for循环和while循环dowhile循环
第四章 循环语句 4.1循环概述 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段代码被重复执行的代码被称为循环体语句,当反复执行这个循环体的时候,需要在核实的时候吧循环判断条件修改为fa ...
- 利用Css3样式属性Cursor来更换自定义个性化鼠标指针(光标)
现而今,我们纵向的回顾整个大前端的历史,不难发现,人们对前端的审美要求越来越高,越来越严苛,与此同时,人们对追求美的体验是也极致的,从理性到感性,从平面到几何,从现实到虚拟,所以从某种角度来说,作为前 ...
- Docker部署kafka|Go操作实践
前言 写作本文的背景是由于字节的暑期青训营中,某个项目要求编写一个简易的流处理引擎(flink),开发语言不限,推荐Java,本着好奇心的驱使,我打算使用Go语言进行部分尝试. 既然是流处理引擎,那么 ...
- 6.11 NOI 模拟
\(T1\)魔法师 \(f(x)\)是各个数位之积,当\(f(x)\ne 0\),每一位只能是\(1\sim 9\),考虑数位积的质因数分解只能是\(2,3,5,7\)的形式,考虑对所有的\((a,b ...
- PyCharm 2022.2 发布了,支持最新 Python 3.11 和 PyScript 框架!
来源:Jet Brains官网:翻译:Python猫 原文:https://blog.jetbrains.com/pycharm/2022/07/2022-2 通常而言,使用新潮的或者快速发展的技术, ...
- Luogu2343 宝石管理系统(平衡树)
平衡树维护总第K大:插入 #include <iostream> #include <cstdio> #include <cstring> #include < ...
- C#/VB.NET 替换 PDF 文件上的现有图像
我们都知道对PDF文件进行修改和编辑不是一件容易的事.但有时当我们想用新的图像来替换PDF文件上的现有图像时,该怎么办呢?别担心,本文将向您展示如何在 C#/VB.NET 中替换 PDF 文件中的现有 ...
- 基础3:js实现继承的多种方式
js实现继承的多种方式 1. 原型链继承 function Parent() { this.name = 'xwk' } Parent.prototype.getName = function() { ...