使用 AdvancedRTFEditorKit 的 JTextPane 中的字符集
Charset in JTextPane which using AdvancedRTFEditorKit
我在字符集编码方面遇到了一些问题。我正在使用 AdvancedRTFEditorKit(免费闭源库:http://java-sl.com/advanced_rtf_editor_kit.html)。
如果我从 MS Word 复制一些特殊字符 (ěščřžýáíé) 并将它们粘贴到 AdvancedRtfEditorKit 库提供的示例中,一切正常。但是,如果我对使用 AdvancedRTFEditorKit 的非常简单的 SSCCE 执行相同的操作,那么它们将显示为矩形。你知道我做错了什么吗?
此问题仅出现在 MS Office 产品中。 LibreOffice 工作正常。
我的 SSCCE:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(350, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextPane pane = new JTextPane();
pane.setEditorKit(new AdvancedRTFEditorKit());
frame.add(pane);
frame.setVisible(true);
}
在对我的代码进行多次更改后,我发现我的应用程序没有任何问题。我的问题只是 运行 直接来自 NetBeans IDE 的应用程序。我不知道为什么,但是 IDE 以某种方式 encode/decode 与 OS 互动。
我在字符集编码方面遇到了一些问题。我正在使用 AdvancedRTFEditorKit(免费闭源库:http://java-sl.com/advanced_rtf_editor_kit.html)。
如果我从 MS Word 复制一些特殊字符 (ěščřžýáíé) 并将它们粘贴到 AdvancedRtfEditorKit 库提供的示例中,一切正常。但是,如果我对使用 AdvancedRTFEditorKit 的非常简单的 SSCCE 执行相同的操作,那么它们将显示为矩形。你知道我做错了什么吗?
此问题仅出现在 MS Office 产品中。 LibreOffice 工作正常。
我的 SSCCE:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(350, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextPane pane = new JTextPane();
pane.setEditorKit(new AdvancedRTFEditorKit());
frame.add(pane);
frame.setVisible(true);
}
在对我的代码进行多次更改后,我发现我的应用程序没有任何问题。我的问题只是 运行 直接来自 NetBeans IDE 的应用程序。我不知道为什么,但是 IDE 以某种方式 encode/decode 与 OS 互动。