У меня есть следующий код:
<code>import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
public class ScratchPad {
public static void main(String args[]) throws Exception {
String html ="<html>"+
"<head>"+
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\"/>"+ // this is the problem right here
"<title>Error 400 BAD_REQUEST</title>"+
"</head>"+
"<body>"+
"<h2>HTTP ERROR: 400</h2><pre>BAD_REQUEST
"+
"
RequestURI = нуль
" +
"
Powered от пристани: //
"+
"" +
"";
JFrame f = новый JFrame ();
JEditorPane editor = new JEditorPane ();
editor.setEditable (false);
editor.getDocument (). putProperty ("Ignore-Charset", "true"); // эта строка не имеет значения в любом случае
editor.setContentType ("text / html");
editor.setText (html);
f.add (новый JScrollPane (редактор, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER));
f.pack ();
f.setVisible (true);
}
}
Если вы запустите его, вы заметите, что рамка пуста. Однако, если я удалю «; charset = ISO-8859-1» из метатега, HTML-код отобразится. Любые идеи, почему и что я могу сделать, чтобы предотвратить это (кроме ручного взлома строки HTML, которую я не могу контролировать ...).
Edit # 1 - putProperty ("Ignore-Charset", "true"), к сожалению, не имеет значения.