public boolean saveDocument() {
try {
// FileOutputStream outStream = new FileOutputStream(_fileName);
// OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
// ( (XmlDocument) this.document).write(outWriter, "GB2312");
OutputFormat format = new OutputFormat(this.document);
format.setEncoding("gb2312");
StringWriter strInvoice = new StringWriter();
XMLSerializer serial = new XMLSerializer(strInvoice, format);
serial.asDOMSerializer();
serial.serialize((Element) this.document.getDocumentElement());
save(_fileName,strInvoice.toString());
} catch (Exception e) {
e.printStackTrace();
}
return true;
} private boolean save(String filename, String strInvoice) {
PrintStream out = null;
try {
out = new PrintStream(new BufferedOutputStream(
new FileOutputStream(filename)));
writeInvoice(out, strInvoice);
} catch (IOException e) {
out.close();
e.printStackTrace();
return false;
}
out.close();
return true;
} private void writeInvoice(PrintStream out, String line) {
try {
byte[] b = (line).getBytes("ISO8859-1"); 
out.write(b);
} catch (Exception e) {
e.printStackTrace();
}
}
怎么就不行呢

解决方案 »

  1.   

    你的系统下应该没有这个字符集,那样肯定是乱码!  或者就是你当前的状态是英文,这样将export lang=zh就行
      

  2.   

    export lang=zh 还是不行啊
      

  3.   

    private boolean save(String filename, String strInvoice) {
    Writer out = null;
    try {
    out = new OutputStreamWriter(new FileOutputStream(filename),"GB2312"); 
    out.write(strInvoice);
    } catch (IOException e) {
    out.close();
    e.printStackTrace();
    return false;
    }
    out.close();
    return true;
    }
      

  4.   

    ISO8859-1你多狠啊,我们都写ISO-8859-1的