diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TextMode.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TextMode.java index eabf6530c240c2cd51c0b66f8aa9ecda63b14cd5..4d1e27843d31de716cb6f9415b28e5fad39ed035 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TextMode.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TextMode.java @@ -19,7 +19,7 @@ */ package org.olat.core.gui.components.form.flexible.impl.elements.richText; -import java.io.ByteArrayInputStream; +import java.io.StringReader; import java.util.ArrayList; import java.util.List; @@ -122,7 +122,7 @@ public enum TextMode { private static void parse(String text, DefaultHandler handler) throws Exception { HtmlParser parser = new HtmlParser(XmlViolationPolicy.ALTER_INFOSET); parser.setContentHandler(handler); - parser.parseFragment(new InputSource(new ByteArrayInputStream(text.getBytes())), ""); + parser.parseFragment(new InputSource(new StringReader(text)), ""); } private static final class TextAnalyser extends DefaultHandler { diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBEditorController.java index 167e76b14b60eb0ed9d59738adff5bc1714872d5..80b13a40f6f5d85884ff4c06738bb64c64f8d932 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBEditorController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBEditorController.java @@ -19,8 +19,8 @@ */ package org.olat.ims.qti21.ui.editor.interactions; -import java.io.ByteArrayInputStream; import java.io.File; +import java.io.StringReader; import org.json.JSONException; import org.json.JSONObject; @@ -335,7 +335,7 @@ public class FIBEditorController extends FormBasicController { try { HtmlParser parser = new HtmlParser(XmlViolationPolicy.ALTER_INFOSET); parser.setContentHandler(new SolutionExtractorHandler()); - parser.parse(new InputSource(new ByteArrayInputStream(content.getBytes()))); + parser.parse(new InputSource(new StringReader(content))); } catch (Exception e) { logError("", e); } diff --git a/src/test/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TextModeTest.java b/src/test/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TextModeTest.java index 3f1ff99a8d086687a6b919b37e8ca15c0c0ecd48..ec7749dd9684146094486092f2929e00ca302974 100644 --- a/src/test/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TextModeTest.java +++ b/src/test/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/TextModeTest.java @@ -68,5 +68,8 @@ public class TextModeTest { String linedText2 = TextMode.toMultiLine("<p>Lorem</p>ipsum<br>dolor<p>sit amet</p>"); Assert.assertEquals("Lorem\nipsum\ndolor\nsit amet", linedText2); + + String linedText3 = TextMode.toMultiLine("<p>Lorem</p>ipsum<br>dolor<p>sit \u00E4met</p>"); + Assert.assertEquals("Lorem\nipsum\ndolor\nsit \u00E4met", linedText3); } }