1. 程式人生 > >dom4j寫檔案時中文編碼問題

dom4j寫檔案時中文編碼問題

dom4j寫檔案在儲存時使用如下程式碼

File file = new File("test.xml"); 
OutputFormat format = OutputFormat.createPrettyPrint();
// 指定XML編碼
format.setEncoding("GB2312");
XMLWriter output= new XMLWriter(new FileWriter(file), format);
output.write(document);
output.close();

但這種是按作業系統預設編碼(win平臺一般是GBK)儲存檔案的。如果在Linux下的預設編碼是UTF-8則檔案就是按UTF-8儲存檔案。讀取時就會出現問題。

解決方法是使用以下程式碼,即可按format設定的編碼寫檔案

File file = new File("test.xml"); 
OutputFormat format = OutputFormat.createPrettyPrint();
// 指定XML編碼
format.setEncoding("GB2312");
XMLWriter output= new XMLWriter(new FileOutputStream(file), format);
output.write(document);
output.close();