Raymond
          Java筆記
          由一個(gè)Document對(duì)象,轉(zhuǎn)換成String,這個(gè)方法我?guī)啄昵皩懙牧耍?BR>
                      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上面運(yùn)行,發(fā)現(xiàn)一個(gè)奇怪的現(xiàn)象,寫入數(shù)據(jù)庫的中文都變成了類似&#XXXX; 這種編碼。更加奇怪的是我用應(yīng)用程序的方式運(yùn)行,是正常沒問題的。我猜想是resin在某個(gè)地方做了設(shè)置,在網(wǎng)上搜索又一時(shí)找不到好方法,不想為了一個(gè)小問題轉(zhuǎn)用jdom之類的包。

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

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
           
          主站蜘蛛池模板: 常德市| 睢宁县| 乌兰浩特市| 胶州市| 洞头县| 璧山县| 太原市| 会泽县| 上饶市| 威宁| 郸城县| 三穗县| 射阳县| 子洲县| 迁安市| 淳安县| 青阳县| 双柏县| 太保市| 夏邑县| 永年县| 正镶白旗| 阳江市| 乡城县| 博客| 河北区| 镇赉县| 武功县| 湖州市| 南木林县| 清镇市| 太仓市| 江口县| 海安县| 成都市| 门头沟区| 谢通门县| 巴林左旗| 合川市| 泸定县| 邯郸市|