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
            謝謝你,你的文章幫助了我:)  回復  更多評論   

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


          網站導航:
           
           
          主站蜘蛛池模板: 兴义市| 江达县| 昆山市| 郴州市| 丹寨县| 常州市| 晋江市| 巴楚县| 北宁市| 镇平县| 读书| 阿荣旗| 额尔古纳市| 特克斯县| 来安县| 盘山县| 顺义区| 丰宁| 台南市| 眉山市| 安阳市| 河曲县| 五家渠市| 九龙县| 西丰县| 铜川市| 东安县| 柏乡县| 会东县| 峨边| 惠安县| 三穗县| 塘沽区| 嘉兴市| 民权县| 惠州市| 沐川县| 富顺县| 香格里拉县| 积石山| 杂多县|