Java JTextPane-HTML-Editor, der UTF-8 Zeichen Kodierung
Ich bin mit JTextPane als einfache html-editor.
jtp=new JTextPane();
jtp.setContentType("text/html;charset=UTF-8");
jtp.setEditorKit(new HTMLEditorKit());
Wenn ich Anrufe, jtp.getText() bekomme ich schöne html-code mit allen Sonderzeichen escaped. Aber ich will nicht entgehen nationale Zeichen (für Polnisch), sondern nur spezielle html-Zeichen wie &, <, >
Wenn ich im editor
<foo>ą ś &
Bekomme ich
<foo>ą ś &
aber ich würde gerne bekommen
<foo>ą ś &
Wie es ist possile?
- Ich benutze
charset=cp1251
stattcharset=UTF-8
- Es doesnt nichts ändern.
- hmmm sind diese Daten aus der Datei oder aus dem WWW ???, weil du dann codieren, Puffer mit der richtigen Charset, um den String-Wert
- Es wird manuell bearbeitet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist das nicht möglich, leider.
Da ist ein Fehler drinnen javax.swing.text.html-Code.HTMLWriter - es ist fest zu konvertieren jedes symbol, das nicht zu seinem numerischen ASCII-Darstellung:
Diese Logik nicht kontrolliert werden kann, in keiner Weise.
ABER Wenn Sie wirklich müssen, die Funktionalität, die Sie tun konnte, die verrückte Sachen:
HTMLWriterHack
(im gleichen Paketjavax.swing.text.html
umbenennen und alle Zeichenfolgen, die in der)output
Zeilen mit etwas wieoutput(String.valueOf(chars[counter]));
HTMLDocumentHack
(im gleichen Paketjavax.swing.text.html
umbenennen alle Saiten im inneren, wodurch es zu verlängernHTMLDocument
und entfernen von widerstreitenden Methoden)Obwohl die oben genannten Schritte funktioniert (habe es getestet), ich sicherlich würde nicht empfehlen, dies zu tun.
HTMLDocumentHack
?Ist es nicht möglich, alle Zeichen über code 127 übersetzt werden, um eine numerische Entität & # Zahl ;. Die HTML-Entitäten übersetzt in "named entities" & lt ; , und so weiter. So können Sie leicht resubstitute Sie. (Dies geschieht in HTMLWriter.Ausgabe, und es scheint keine Bestimmung für die Zeichensätze auch immer.)