我有一個Sax解析器類,用於Swing應用程序和部署到GlassFish的Web項目中。Xerces Sax2解析器編碼問題
該類解析xml文件。它在NetBeans IDE Swing應用程序(在IDE中)和Web項目中完美工作。
但是,當我將Clean應用程序清理並構建爲一個.jar文件時,它不會再從xml文件中識別符號ī,ķ,ļ,ā。
如果我通過cmd編譯並運行它,會發生同樣的問題。
Web項目中存在同樣的問題 - 使用Glassfish配置進行排序。
問題是如何在swing應用程序中解決這個問題?
這裏是一個代碼和平:
public void parseDocument(String filePath) {
try {
XMLReader xr = XMLReaderFactory.createXMLReader();
xr.setContentHandler(this);
InputSource is = new InputSource(new FileReader(filePath));
is.setEncoding("UTF-8");
xr.parse(is);
}catch(SAXException se) {
se.printStackTrace();
}catch (IOException ie) {
ie.printStackTrace();
}
}
從setEncoding()方法沒有任何幫助。
在命令行中,您可以使用Netbean用來運行您的jar的JVM嗎?我有經驗問題,雖然一個JVM運行我的代碼很好,但另一個不是由於底層的XMLReader實現。和平! – Alvin
謝謝阿爾文,你讓我在正確的方向尋找解決方案。 –
@ sergej.art如果你喜歡這個答案,不要忘記加入它,甚至可能接受它。 –