Raymond
          Java筆記
          由一個Document對象,轉換成String,這個方法我幾年前寫的了:
                      TransformerFactory tFactory = TransformerFactory.newInstance();
                      Transformer transformer 
          = tFactory.newTransformer();
                      
          DOMSource source = new DOMSource(inputDoc);
                      StringWriter out 
          = new StringWriter();
                      StreamResult result 
          = new StreamResult(out);
                      transformer.transform(source, result);
                      out.flush();
                      
          return out.toString();

          一直用是沒有問題的,直到今天在resin上面運行,發現一個奇怪的現象,寫入數據庫的中文都變成了類似&#XXXX; 這種編碼。更加奇怪的是我用應用程序的方式運行,是正常沒問題的。我猜想是resin在某個地方做了設置,在網上搜索又一時找不到好方法,不想為了一個小問題轉用jdom之類的包。

          研究了一下,找到了解決的辦法。在Transformer對象創建之后加一句:
             
             
          transformer.setOutputProperty("encoding","GBK");

          問題解決了。具體的機制還沒有時間去了解,有空再回頭研究吧。
          posted on 2006-01-09 17:39 Raymond的Java筆記 閱讀(3908) 評論(1)  編輯  收藏
          Comments
          • # re: DOM的Document對象轉換到String的中文編碼(亂碼)問題
            AA
            Posted @ 2007-01-15 23:26
            謝謝你,你的文章幫助了我:)  回復  更多評論   

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          主站蜘蛛池模板: 河源市| 霍邱县| 晋州市| 望都县| 磐安县| 大关县| 云和县| 昔阳县| 朝阳区| 桦南县| 南丰县| 苍山县| 江门市| 广安市| 荔波县| 理塘县| 博兴县| 临海市| 武安市| 呈贡县| 梁山县| 营口市| 饶阳县| 阿坝县| 屏南县| 布尔津县| 福海县| 福州市| 申扎县| 兴和县| 宜宾市| 张掖市| 清徐县| 洪泽县| 县级市| 乌鲁木齐县| 宝兴县| 彰化县| 万全县| 富阳市| 滨海县|