3

恐怕这是非常具体的,所以请耐心等待并仔细阅读。

问题:

打开一个 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 位上

我将不胜感激任何反馈,甚至是对问题的简单确认/复制。

4

1 回答 1

1

嗯,我认为您观察到的情况与 tinymce 插入非中断空格而不是空格这一事实有关。Tinymce 需要这样做是为了避免浏览器显示多个同时输入的空格作为一个空格(这是默认的浏览器行为)。您可以通过插入多个空格来验证这一点,然后查看不可见字符。

于 2013-07-16T14:06:23.963 回答