恐怕这是非常具体的,所以请耐心等待并仔细阅读。
问题:
打开一个 PDF 文件,选择并复制一些包含换行符的文本,然后将其粘贴到 Google Chrome 浏览器的 TinyMCE 文本区域中。然后删除任何换行符并在同一点插入一个空格:即使我在 TinyMCE 中使用了常规的“空格键”击键,添加的空格也不会中断。
我怎么知道有一个不间断的空间?
您可以单击我的 TinyMCE 实现的第一行上的“显示不可见字符”按钮(请参见下面的链接)。请记住,使用 TinyMCE 时,您必须在每次修改文本以查看更改时再次关闭和打开该选项。
不间断空格将显示为橙色,正常空格正常显示。
到目前为止我发现了什么:
如果我删除换行符之后的字符,然后再次键入该字符,我可以插入一个普通空格。问题似乎与那个角色有关。如果我删除换行符之前出现的字符,问题仍然存在,即当我删除空格并键入新空格时,它仍然是非断行空格。
另外,当我将文本保存到 MySQL 数据库,并在 TinyMCE 中再次读取时,问题仍然存在,这强化了我的印象,即“隐藏”字符附加到换行符后面的字母上(测试中没有保存当然是页面)。
复制它
您当然可以自己尝试,但这是我为您准备的测试平台:http ://www.roseback.com/test/tinymce4.html
我已经使用我们从平面设计师、许多产品和时代收到的许多 PDF 文件对其进行了测试。这些 PDF 是用于打印的文件,这些文件用于打印没有问题。我在这里上传了一个示例文件:http ://www.roseback.com/test/languedoc.pdf 。测试以“Ce film exceptionnel”开头的第一段。但是,我还测试了来自网络的随机 PDF 文件,并且每次都复制了该问题。因此,如果您尝试使用自己的文件并且无法复制,那可能会很有趣。
环境:
网页:页面采用 HTML5 格式,UTF-8 格式。
在原始页面上,该页面是通过 PHP 提供的,而 textarea 内容来自 MySQL 5.1 DB。数据库连接在 PHP 中设置为 UTF-8,表和文本字段的内容在 utf8_unicode_ci
测试页没有内容,也没有保存,所以不涉及数据库。
浏览器:铬。在 Firefox 或 Opera 中不会发生(未在其他地方测试)
TinyMCE:版本 3 和版本 4(都是标准版本,不是 jQuery)
操作系统:在 Windows 7 Pro 64 位和 Windows XP Pro 32 位上
我将不胜感激任何反馈,甚至是对问题的简单确认/复制。