Почему я использую этот редактор:
В прошлом я использовал PrimeFaces p:editor
, который, однако, устарел и не имеет функций, которые отчаянно нужны пользователям. Я не могу использовать новые PrimeFaces p:textEditor
из-за этого: Primefaces textEditor: преобразование текста в HTML с JavaScript не работающим .
Что это такое используется для:
Я использую pe:ckEditor
из PrimeFaces Extensions в моей программе, в которой пользователь использует редактор для создания содержимого сообщения электронной почты. Затем, нажав на кнопку отправки, HTML из редактора берется и отправляется клиенту по электронной почте.
В чем проблема:
При использовании p:editor
я получил функцию HTML по JavaScript saveHTML
, и она отлично работала, даже если текст содержал чешские символы (ěščřžýáíéó ), Мне даже не пришлось устанавливать enconding или что-то еще, и это работало. Однако теперь, когда пользователь пишет "В поисках подробностей о том, что вы хотите получить информацию" , полученный HTML имеет такой текст: "V pÅípadÄ dalších dotazů nás můžete obracet každý den na telefonním Äísle " - полный текст sh, который пользователь явно не может отправить клиенту ...
Мое исследование:
РЕДАКТИРОВАТЬ: На основе в некоторых комментариях я пытался добавить <meta charset="utf-8>
и <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
, но это не помогло. В pom.xml
я нашел также этот <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
, поэтому я не думаю, что есть проблема на странице HTML, но в настройках самого редактора ...
Итак, я понял, что кодировка должна быть установлена специально для редактора в его конфиге. Я наконец понял, , как заставить редактор получить доступ к пользовательской конфигурации , но ничего, что я нашел в Inte rnet и добавил в конфигурацию, не сработало для меня:
config.language='cs';
А:
config.entities_latin = false;
А:
config.entities = false;
А:
config.basicEntities = false;
И все его комбинации.
ДРУГОЕ РЕДАКТИРОВАНИЕ :
Основываясь на некоторых других комментариях здесь, я также установил OmniFaces и попытался решить эту проблему с помощью CharacterEncodingFilter
, но ничего не изменилось и все еще не работает.
Я также обнаружил, что моя проблема, похоже, очень связана с этой проблемой: Ввод Unicode, полученный через входные компоненты PrimeFaces, поврежден , но принятый ответ дает 3 способа ее решения. один из них - CharacterEncodingFilter
, другой способ не применим для пользователей Tomcat (я), и последнее «решение», по-видимому, сообщает об этом разработчикам PrimeFaces Extensions (что я и сделал: https://github.com/primefaces-extensions/primefaces-extensions.github.com/issues/756).
Пожалуйста, дайте мне знать, если вы знаете, как это исправить или есть какие-то обходные пути.
PrimeFaces Extensions - версия 7.0.2; PrimeFaces - версия 7.0.7