溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

用java寫(xiě)xml文件時(shí)出現(xiàn)中文亂碼的解決方法

發(fā)布時(shí)間:2020-06-17 11:24:00 來(lái)源:億速云 閱讀:486 作者:Leah 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)用java寫(xiě)xml文件時(shí)出現(xiàn)中文亂碼的解決方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

用java寫(xiě)xml文件,發(fā)現(xiàn)寫(xiě)完后xml文件的中文就變成了亂碼。

解決辦法:把xml文件的頭部編碼改為utf-8,StreamResult編碼方式也改為utf-8,StreamResult類充當(dāng)轉(zhuǎn)換結(jié)果的持有者,可以為 XML、純文本、HTML 或某些其他格式的標(biāo)記。

public String createXMLbyId(){
  
  Course c = courseService.getCourseById(17);
  
  try{
   //獲取當(dāng)前時(shí)間 (注意格式)
   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");     //關(guān)鍵是這句:要用 帶指定編碼格式的 構(gòu)造方法


   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("文件生成失?。?quot;);
 }
  
  return "fanfan";
 }

上述就是小編為大家分享的用java寫(xiě)xml文件時(shí)出現(xiàn)中文亂碼的解決方法了,如果您也有類似的疑惑,不妨參照上述方法進(jìn)行嘗試。如果想了解更多相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI