现象
...
截至目前,confluence 4.0 、4.0.3 和 4.0.4中都出现了宏编辑器不能正确显示中文,中文显示成方块,现象如下图:
原因
...
由于Confluence生成此宏编辑块时,采用生成图片的方式,其中的文字字体默认使用的是verdana,这个字体不包括中文,故中文显示成方块。
解决方案
...
修改confluence-tinymce-plugin-4.0.x.jar 包中的DefaultPlaceholderImageFactory.class 文件,使之使用java环境中的其他字体,生成宏编辑块。
部署方法
...
- 将Confluence 实例关闭(shutdown);
- 进入Confluence安装目录,按此路径: confluence/WEB-INF/classes/com/atlassian/confluence/setup ,找到atlassian-bundled-plugins.zip 文件;
- 将atlassian-bundled-plugins.zip解压取confluence-tinymce-plugin-4.0.x.jar 文件;
- 用附件的DefaultPlaceholderImageFactory.class文件,替换confluence-tinymce-plugin-4.0.x.jar 文件包中,路径com/atlassian/confluence/tinymceplugin/placeholder/ 下的同名文件;
- 将替换好的文件重新放置在atlassian-bundled-plugins.zip 中,并安装到原来的路径下;
- 重新启动Confluence实例,在页面中创建新的宏,检查是否生效。
注意事项
...
- 此方法目前仅对Confluence 4.0 至 4.0.4生效,我们已经将此问题提交Atlassian,如Atlassian在后续版本中修复此BUG,请使用Atlassian的官方解决方案;
- 在此补丁以前生成的宏,因是以前生成的图片,故界面中仍然不能显示汉字,需要重新生成宏才可。
- 在替换文件前,请做好备份,如不能生效可以恢复。
- 此方法在Windows、CentOS linux下测试通过。