我要生成的xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<rows>
<row id="1">
<cell>我在</cell>
<cell>John Grisham</cell>
</row>
</rows>
中文 "我在" 输出时乱码
我要生成的文件必须是utf-8的编码方式(我知道可以将编码方式改成gbk解决中文乱码),
如何在utf-8的编码方式下 正确生成中文?
<?xml version="1.0" encoding="utf-8"?>
<rows>
<row id="1">
<cell>我在</cell>
<cell>John Grisham</cell>
</row>
</rows>
中文 "我在" 输出时乱码
我要生成的文件必须是utf-8的编码方式(我知道可以将编码方式改成gbk解决中文乱码),
如何在utf-8的编码方式下 正确生成中文?
public static String ISO8859_TO_GBK(Object obj) {
try {
if (obj == null)
return "";
else
return new String(obj.toString().getBytes("iso-8859-1"), "GBK");
} catch (Exception e) {
return "";
}
}
试试这个,,,把读出来的数据都用这个转换一次,,,,不行的话....吧iso-8859-1可以改成utf-8
我的关键代码如下: Element [] cell=new Element[2]
Element rows=new Element("rows");
Document myDocument = new Document(rows);
Element row = new Element("row");
cell[0] = new Element("cell");
cell[1] = new Element("cell");
cell[0].addContent("我在");
cell[1].addContent(" John Grisham ");
row.addContent(cell[0]);
row.addContent(cell[1]);
rows.addContent(row); XMLOutputter XMLOut = new XMLOutputter();
FileWriter writer = null;
try {
writer = new FileWriter(dir);
Format f = Format.getPrettyFormat();
XMLOut.setFormat(f);
XMLOut.output(myDocument,System.out);//控制台输出
XMLOut.output(myDocument, writer);
writer.close();
} catch (IOException ex) {
}结果是 控制台输出的中文为乱码 生成的XML文件中的中文也是乱码
怎么解决呢??
XMLOut.output(myDocument, writer);