Als ich Java zum Schreiben von XML-Dateien verwendete, stellte ich fest, dass nach dem Schreiben das Chinesisch in der XML-Datei verstümmelt war.
Lösung: Ändern Sie die Header-Kodierung der XML-Datei in utf-8 und die StreamResult-Kodierungsmethode wird ebenfalls in utf-8 geändert. Die StreamResult-Klasse fungiert als Halter des Konvertierungsergebnisses, das XML sein kann , einfacher Text oder HTML oder ein anderes Markup-Format.
public String createXMLbyId(){ Course c = courseService.getCourseById(17); try{ //获取当前时间 (注意格式) SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd" + " " + "hh:mm:ss"); String datetime = tempDate.format(new java.util.Date()); FileOutputStream fo = new FileOutputStream("D:/Program Files/work space/sedu/WebRoot/static/apixml/qq.xml"); PrintStream so = new PrintStream(fo,true,"utf-8"); //关键是这句:要用 带指定编码格式的 构造方法 so.println("<?xml version=/"1.0/" encoding=/"utf-8/"?>"); so.println("<root>"); so.println("<version>1.0</version>"); so.println("<datetime>"+datetime+"</datetime>"); so.println("<company_id>SunLand</company_id>"); so.println("<item_ids>"); if(c!=null){ so.println("<item>"); so.println("<outer_id>"+c.getCourseId()+"</outer_id>"); so.println("<title>"+c.getTitle()+"</title>"); so.println("</item>"); } so.println("</item_ids>"); so.println("</root>"); System.out.println("文件生成成功!"); }catch(Exception e){ e.printStackTrace(); System.out.println("文件生成失败!"); } return "fanfan"; }
Weitere Java-Kenntnisse finden Sie in der Spalte Java Basic Tutorial.
Das obige ist der detaillierte Inhalt vonLösung für chinesischen verstümmelten Code beim Schreiben von XML in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!