过去,我使用的PrimeFaces p:editor
已过时,并且缺少用户迫切需要的功能。由于以下原因,我无法使用新的PrimeFaces p:editor
:p:textEditor
。
我正在程序中使用PrimeFaces Extensions中的p:textEditor
,在该程序中,用户使用编辑器来创建电子邮件内容。然后,通过单击发送按钮,获取来自编辑器的HTML,并通过电子邮件将其发送给客户端。
[使用Primefaces textEditor: converting text to HTML with JavaScript not working时,我通过JavaScript函数pe:ckEditor
获得了HTML,即使文本包含捷克字符(ěščřžýáíéó),它也可以正常工作,我什至不必设置编码或其他任何内容,它就可以工作。现在,当用户编写“ VpáípadÄdalšíchdotazůse nanásmůžeteobracetkaždýden na telefonnmčísle”时,获得的HTML内容如下: “”>-完全垃圾,用户显然无法将其发送给客户端...我的研究:
pe:ckEditor
和p:editor
,但这无济于事。在saveHTML
中我也找到了这个<meta charset="utf-8>
,所以我认为HTML页面中没有问题,但是编辑器本身的设置中有问题...所以我想,必须特别为编辑器的配置设置编码。我终于找到了<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
,但是
我在Internet上找不到并添加到配置中的所有内容都对我有用:
pom.xml
和:
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
和:
how to make the editor access the custom config
和:
config.language='cs';
及其所有组合。
另一个编辑:
基于此处的其他评论,我还安装了OmniFaces并尝试通过config.entities_latin = false;
解决此问题,但没有任何更改,它仍然无法正常工作。
[我还发现我的问题似乎与以下问题非常相关:config.entities = false;
,但是那里公认的答案给出了3种解决方法,一种是config.basicEntities = false;
,另一种不适用于Tomcat用户。 (我)和最后一个“解决方案”似乎正在向PrimeFaces Extensions开发人员报告此问题(我做了:CharacterEncodingFilter
。)>
如果您知道该如何解决或有任何解决方法,请让我知道。
为什么使用此编辑器:过去我使用PrimeFaces p:editor,但已过时,并且缺少用户急需的功能。我不能使用新的PrimeFaces p:textEditor ...
CharacterEncodingFilter
找出了问题所在。我们一直在使用的原始编辑器Unicode input retrieved via PrimeFaces input components become corrupted,正试图用CharacterEncodingFilter
替换,只有在使用JavaScript函数https://github.com/primefaces-extensions/primefaces-extensions.github.com/issues/756的情况下,才能向我们提供HTML格式的内容。但是使用test code that @melloware provided时,只要用户单击Send
按钮(其p:editor
包含pe:ckEditor
),saveHTML
都会破坏内容。一旦我们删除了pe:ckEditor