![连字符粘贴到 Putty、Notepad 等程序时会转换为“未知字符”,这是可以的](https://linux22.com/image/1419222/%E8%BF%9E%E5%AD%97%E7%AC%A6%E7%B2%98%E8%B4%B4%E5%88%B0%20Putty%E3%80%81Notepad%20%E7%AD%89%E7%A8%8B%E5%BA%8F%E6%97%B6%E4%BC%9A%E8%BD%AC%E6%8D%A2%E4%B8%BA%E2%80%9C%E6%9C%AA%E7%9F%A5%E5%AD%97%E7%AC%A6%E2%80%9D%EF%BC%8C%E8%BF%99%E6%98%AF%E5%8F%AF%E4%BB%A5%E7%9A%84.png)
当从浏览器(我尝试了 Firefox 和 IE)复制 UTF-8 编码的连字符 (U+2010) 然后粘贴到 Putty 和 Vim(Windows 版本)等程序时,所有连字符都显示为“未知字形”。粘贴到记事本中可以完美运行。在 Debian/wheezy 中复制/粘贴相同的 HTML 文本(从 iceweasel 复制,粘贴到 vim)也可以按预期运行。
但 utf-8 字符没有被破坏。将破坏的文本保存到磁盘或复制粘贴均按预期工作。
我真正要解决的问题是 Confluence 及其导出到 docx 文件的功能。HTML 显示正常,docx 显示未签名的字形,从 docx 复制到记事本时会显示粘贴文本中的连字符。
我该怎么做才能解决这个问题?
答案1
我进一步调查并找到了一个解释:大多数字体中都不包含连字符 U+2010,尤其是 Vim 和 PuTTY 等程序通常需要的固定字体中也不包含。
因此,我的 Confluence 问题的解决方案是:将 Confluence wiki 的内容转换为 MS Word 文件格式时,选择“Arial Unicode MS Standard”作为默认字体。